sf-decomposer 5.9.2 → 5.10.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 (63) hide show
  1. package/CHANGELOG.md +17 -0
  2. package/README.md +28 -12
  3. package/lib/commands/decomposer/decompose.js +6 -2
  4. package/lib/commands/decomposer/decompose.js.map +1 -1
  5. package/lib/commands/decomposer/recompose.js +2 -2
  6. package/lib/commands/decomposer/recompose.js.map +1 -1
  7. package/lib/hooks/prerun.js +1 -1
  8. package/lib/hooks/prerun.js.map +1 -1
  9. package/lib/hooks/scopedPostRetrieve.js +1 -1
  10. package/lib/hooks/scopedPostRetrieve.js.map +1 -1
  11. package/lib/metadata/getPackageDirectories.js +1 -1
  12. package/lib/metadata/getPackageDirectories.js.map +1 -1
  13. package/lib/service/core/checkLogforErrors.js.map +1 -0
  14. package/lib/service/{getRepoRoot.js → core/getRepoRoot.js} +1 -1
  15. package/lib/service/core/getRepoRoot.js.map +1 -0
  16. package/lib/service/core/moveFiles.js.map +1 -0
  17. package/lib/service/core/transformers.js.map +1 -0
  18. package/lib/service/{decomposeFileHandler.js → decompose/decomposeFileHandler.js} +14 -40
  19. package/lib/service/decompose/decomposeFileHandler.js.map +1 -0
  20. package/lib/service/{disassembleAndGroupFieldPermissions.js → decompose/disassembleAndGroupFieldPermissions.js} +4 -3
  21. package/lib/service/decompose/disassembleAndGroupFieldPermissions.js.map +1 -0
  22. package/lib/service/{flattenNestedObjectPermissions.js → decompose/flattenNestedObjectPermissions.js} +1 -1
  23. package/lib/service/decompose/flattenNestedObjectPermissions.js.map +1 -0
  24. package/lib/service/decompose/nested/loyaltyProgramSetup.d.ts +2 -0
  25. package/lib/service/decompose/nested/loyaltyProgramSetup.js +32 -0
  26. package/lib/service/decompose/nested/loyaltyProgramSetup.js.map +1 -0
  27. package/lib/service/decompose/nested/permSets.d.ts +2 -0
  28. package/lib/service/decompose/nested/permSets.js +41 -0
  29. package/lib/service/decompose/nested/permSets.js.map +1 -0
  30. package/lib/service/decompose/nested/stripRootAndDisassemble.d.ts +2 -0
  31. package/lib/service/decompose/nested/stripRootAndDisassemble.js +25 -0
  32. package/lib/service/decompose/nested/stripRootAndDisassemble.js.map +1 -0
  33. package/lib/service/{recomposeFileHandler.js → recompose/recomposeFileHandler.js} +32 -2
  34. package/lib/service/recompose/recomposeFileHandler.js.map +1 -0
  35. package/lib/service/recompose/renameBotVersionFiles.js.map +1 -0
  36. package/lib/service/recompose/wrapAllFilesWithLoyaltyRoot.d.ts +1 -0
  37. package/lib/service/recompose/wrapAllFilesWithLoyaltyRoot.js +37 -0
  38. package/lib/service/recompose/wrapAllFilesWithLoyaltyRoot.js.map +1 -0
  39. package/oclif.lock +359 -359
  40. package/oclif.manifest.json +1 -1
  41. package/package.json +7 -7
  42. package/lib/service/checkLogforErrors.js.map +0 -1
  43. package/lib/service/decomposeFileHandler.js.map +0 -1
  44. package/lib/service/disassembleAndGroupFieldPermissions.js.map +0 -1
  45. package/lib/service/flattenNestedObjectPermissions.js.map +0 -1
  46. package/lib/service/getRepoRoot.js.map +0 -1
  47. package/lib/service/moveFiles.js.map +0 -1
  48. package/lib/service/recomposeFileHandler.js.map +0 -1
  49. package/lib/service/renameBotVersionFiles.js.map +0 -1
  50. package/lib/service/transformers.js.map +0 -1
  51. /package/lib/service/{checkLogforErrors.d.ts → core/checkLogforErrors.d.ts} +0 -0
  52. /package/lib/service/{checkLogforErrors.js → core/checkLogforErrors.js} +0 -0
  53. /package/lib/service/{getRepoRoot.d.ts → core/getRepoRoot.d.ts} +0 -0
  54. /package/lib/service/{moveFiles.d.ts → core/moveFiles.d.ts} +0 -0
  55. /package/lib/service/{moveFiles.js → core/moveFiles.js} +0 -0
  56. /package/lib/service/{transformers.d.ts → core/transformers.d.ts} +0 -0
  57. /package/lib/service/{transformers.js → core/transformers.js} +0 -0
  58. /package/lib/service/{decomposeFileHandler.d.ts → decompose/decomposeFileHandler.d.ts} +0 -0
  59. /package/lib/service/{disassembleAndGroupFieldPermissions.d.ts → decompose/disassembleAndGroupFieldPermissions.d.ts} +0 -0
  60. /package/lib/service/{flattenNestedObjectPermissions.d.ts → decompose/flattenNestedObjectPermissions.d.ts} +0 -0
  61. /package/lib/service/{recomposeFileHandler.d.ts → recompose/recomposeFileHandler.d.ts} +0 -0
  62. /package/lib/service/{renameBotVersionFiles.d.ts → recompose/renameBotVersionFiles.d.ts} +0 -0
  63. /package/lib/service/{renameBotVersionFiles.js → recompose/renameBotVersionFiles.js} +0 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,23 @@
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
+ ## [5.10.1](https://github.com/mcarvin8/sf-decomposer/compare/v5.10.0...v5.10.1) (2025-05-07)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **deps:** bump @oclif/core from 4.2.10 to 4.3.0 ([75c3823](https://github.com/mcarvin8/sf-decomposer/commit/75c3823986147084dee2810652f1affd60cd0779))
14
+ * **deps:** bump @salesforce/core from 8.10.2 to 8.10.3 ([ed64781](https://github.com/mcarvin8/sf-decomposer/commit/ed6478160fb4e7cb4e9eb369291c089d88fe16ea))
15
+ * **deps:** bump @salesforce/source-deploy-retrieve ([be536bd](https://github.com/mcarvin8/sf-decomposer/commit/be536bde78ef1a2f4d68271c196e74528231a8cc))
16
+ * **deps:** bump xml-disassembler from 1.9.3 to 1.10.1 ([b83829a](https://github.com/mcarvin8/sf-decomposer/commit/b83829afb44c4946b872f27a7871bda5b8879816))
17
+
18
+ ## [5.10.0](https://github.com/mcarvin8/sf-decomposer/compare/v5.9.2...v5.10.0) (2025-05-07)
19
+
20
+
21
+ ### Features
22
+
23
+ * allow multi-level decomposition of loyalty program setup ([9fe1195](https://github.com/mcarvin8/sf-decomposer/commit/9fe1195f64acdbb670c0fb89fac3d39d151143c9))
24
+
8
25
  ## [5.9.2](https://github.com/mcarvin8/sf-decomposer/compare/v5.9.1...v5.9.2) (2025-05-06)
9
26
 
10
27
 
package/README.md CHANGED
@@ -11,8 +11,10 @@
11
11
  - [Commands](#commands)
12
12
  - [`sf decomposer decompose`](#sf-decomposer-decompose)
13
13
  - [`sf decomposer recompose`](#sf-decomposer-recompose)
14
- - [Decompose Structure](#decompose-structure)
14
+ - [Decompose Strategies](#decompose-strategies)
15
+ - [Custom Labels Decomposition](#custom-labels-decomposition)
15
16
  - [Additional Permission Set Decomposition](#additional-permission-set-decomposition)
17
+ - [Additional Loyalty Program Setup Decomposition](#additional-loyalty-program-setup-decomposition)
16
18
  - [Supported Metadata](#supported-metadata)
17
19
  - [Exceptions](#exceptions)
18
20
  - [Troubleshooting](#troubleshooting)
@@ -68,7 +70,7 @@ Salesforce's built-in decomposition has limitations. `sf-decomposer` offers more
68
70
  - **Supports More Metadata** – Works with most Metadata API types, unlike Salesforce’s limited decomposition.
69
71
  - **Selective Decomposition** – Decompose only what you need, avoiding Salesforce’s all-or-nothing approach.
70
72
  - See [.sfdecomposerignore](#.sfdecomposerignore)
71
- - **Multiple Decomposition Strategies** – Choose between:
73
+ - **Multiple [Decompose Strategies](#decompose-strategies)** – Choose between:
72
74
  - `unique-id` (default): disassembles each nested element into its own uniquely named file based on XML content or hash.
73
75
  - `grouped-by-tag`: groups all nested elements by tag into a single file per tag (e.g., all `<fieldPermissions>` in a permission set into `fieldPermissions.xml`).
74
76
  - Additionally opt into further decomposition on permisison sets by using the `grouped-by-tag` strategy with the `--decompose-nested-permissions` flag.
@@ -172,7 +174,7 @@ EXAMPLES
172
174
 
173
175
  ```
174
176
 
175
- ## Decompose Structure
177
+ ## Decompose Strategies
176
178
 
177
179
  > Ensure you do not MIX strategies on the same metadata type. If you have previously decomposed metadata with a past verson of `sf-decomposer`, which uses the unique-id strategy, and would like to switch over to the grouped-by-tag strategy, you will need to supply the decompose command with the `--prepurge` flag and `-s "grouped-by-tag"` flag to re-create decomposed files with the new strategy.
178
180
 
@@ -205,6 +207,8 @@ Leaf elements (like `<userLicense>Salesforce</userLicense>`) are always grouped
205
207
  | **TOML** | ![TOML](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-tags-toml.png)<br> |
206
208
  | **INI** | ![INI](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-tags-ini.png)<br> |
207
209
 
210
+ ### Custom Labels Decomposition
211
+
208
212
  Custom labels can only be decomposed via the `unique-id` strategy. If you attempt to decompose custom labels with the `grouped-by-tag` strategy, it will warn and skip decomposing custom labels.
209
213
 
210
214
  Custom labels decomposed under the `unique-id` strategy will look like such, each label will have its own file:
@@ -219,6 +223,18 @@ When you run `sf decomposer decompose -m "permissionset" -s "grouped-by-tag" -p`
219
223
 
220
224
  ![Decomposed Perm Set](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/additional-perm-set-decomposed.png)<br>
221
225
 
226
+ ### Additional Loyalty Program Setup Decomposition
227
+
228
+ When using the `unique-id` strategy, the loyalty program setup metadata type (`-m loyaltyProgramSetup`) will be additionally decomposed by default by program processses and each program process will be decomposed additionally by each parameters and rules.
229
+
230
+ The `grouped-by-id` strategy isn't an ideal strategy to decompose loyalty program setup and will be blocked by the command. You'll get this warning and it will skip decomposing loyalty program setup metadata.
231
+
232
+ `You cannot decompose loyaltyProgramSetup using the grouped-by-tag strategy. Please switch strategies and try again for loyaltyProgramSetup.`
233
+
234
+ **NOTE**: I would suggest only recomposing loyalty program setup metadata in a version control system or in a CI/CD pipeline where changes can easily be discarded. In order to recompose them correctly, I have to delete the decomposed files (ignoring whatever value the `--postpurge` flag is set to) since it requires multi-level recomposition. Using a VCS or a CI pipeline will allow you to easily restore the decomposed files in your repo.
235
+
236
+ ![Decomposed Loyalty Program Setup](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-loyalty-program.png)<br>
237
+
222
238
  ## Supported Metadata
223
239
 
224
240
  All parent metadata types imported from this plugin's version of `@salesforce/source-deploy-retrieve` (SDR) toolkit are supported except for certain types.
@@ -289,15 +305,15 @@ Warning: You cannot decompose custom labels using the grouped-by-tag strategy. P
289
305
 
290
306
  You can copy and update the sample [.sfdecomposer.config.json](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/samples/.sfdecomposer.config.json).
291
307
 
292
- | Configuration Option | Required | Description |
293
- | ---------------------------- | -------- | --------------------------------------------------------------------------------------------------------------------------------------------------- |
294
- | `metadataSuffixes` | Yes | Comma-separated string of metadata suffixes to decompose and recompose based on the CLI command. |
295
- | `ignorePackageDirectories` | No | Comma-separated string of package directories to ignore. |
296
- | `prePurge` | No | `true` or `false`. If `true`, deletes existing decomposed files before decomposing. Defaults to `false`. |
297
- | `postPurge` | No | `true` or `false`. If `true`, deletes the retrieval file after decomposing or deletes decomposed files after recomposing. Defaults to `false`. |
298
- | `decomposedFormat` | No | Format of decomposed files: `xml`, `json`, `json5`, `toml`, `ini`, or `yaml`. Defaults to `xml`. |
299
- | `strategy` | No | Strategy for decomposing the files: `unique-id` or `grouped-by-tag`. Defaults to `unique-id`. |
300
- | `decomposeNestedPermissions` | No | If strategy is `grouped-by-tag` and this is set to `true`, decompose permission sets further by object and field permissions. |
308
+ | Configuration Option | Required | Description |
309
+ | ---------------------------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------------- |
310
+ | `metadataSuffixes` | Yes | Comma-separated string of metadata suffixes to decompose and recompose based on the CLI command. |
311
+ | `ignorePackageDirectories` | No | Comma-separated string of package directories to ignore. |
312
+ | `prePurge` | No | `true` or `false`. If `true`, deletes existing decomposed files before decomposing. Defaults to `false`. |
313
+ | `postPurge` | No | `true` or `false`. If `true`, deletes the retrieval file after decomposing or deletes decomposed files after recomposing. Defaults to `false`. |
314
+ | `decomposedFormat` | No | Format of decomposed files: `xml`, `json`, `json5`, `toml`, `ini`, or `yaml`. Defaults to `xml`. |
315
+ | `strategy` | No | Strategy for decomposing the files: `unique-id` or `grouped-by-tag`. Defaults to `unique-id`. |
316
+ | `decomposeNestedPermissions` | No | If strategy is `grouped-by-tag` and this is set to `true`, decompose permission sets further by object and field permissions. |
301
317
 
302
318
  If `.sfdecomposer.config.json` is found, the hooks will run:
303
319
 
@@ -3,9 +3,9 @@
3
3
  import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
4
4
  import { Messages } from '@salesforce/core';
5
5
  import { LOG_FILE, DECOMPOSED_FILE_TYPES, DECOMPOSED_STRATEGIES } from '../../helpers/constants.js';
6
- import { decomposeFileHandler } from '../../service/decomposeFileHandler.js';
6
+ import { decomposeFileHandler } from '../../service/decompose/decomposeFileHandler.js';
7
7
  import { getRegistryValuesBySuffix } from '../../metadata/getRegistryValuesBySuffix.js';
8
- import { readOriginalLogFile, checkLogForErrors } from '../../service/checkLogforErrors.js';
8
+ import { readOriginalLogFile, checkLogForErrors } from '../../service/core/checkLogforErrors.js';
9
9
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
10
10
  const messages = Messages.loadMessages('sf-decomposer', 'decomposer.decompose');
11
11
  export default class DecomposerDecompose extends SfCommand {
@@ -79,6 +79,10 @@ export default class DecomposerDecompose extends SfCommand {
79
79
  this.warn('You cannot decompose custom labels using the grouped-by-tag strategy. Please switch strategies and try again for labels.');
80
80
  continue;
81
81
  }
82
+ if (metadataType === 'loyaltyProgramSetup' && strategy === 'grouped-by-tag') {
83
+ this.warn('You cannot decompose loyaltyProgramSetup using the grouped-by-tag strategy. Please switch strategies and try again for loyaltyProgramSetup.');
84
+ continue;
85
+ }
82
86
  const currentLogFile = await readOriginalLogFile(LOG_FILE);
83
87
  await decomposeFileHandler(metaAttributes, prepurge, postpurge, debug, format, ignorePath, strategy, decomposeNestedPerms);
84
88
  const decomposeErrors = await checkLogForErrors(LOG_FILE, currentLogFile);
@@ -1 +1 @@
1
- {"version":3,"file":"decompose.js","sourceRoot":"","sources":["../../../src/commands/decomposer/decompose.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACpG,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAG5F,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,CAAU,OAAO,GAAG,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;IACzD,MAAM,CAAU,WAAW,GAAG,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,CAAU,QAAQ,GAAG,QAAQ,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAE5D,MAAM,CAAU,KAAK,GAAG;QAC7B,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,IAAI;SACf,CAAC;QACF,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC;YACtB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACtD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,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,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC;YACnB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,qBAAqB,CAAC;YACnD,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC;QACF,MAAM,EAAE,KAAK,CAAC,MAAM,CAAC;YACnB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,sBAAsB,CAAC;YACpD,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,qBAAqB;SAC/B,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;QACF,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC;YACrB,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,wBAAwB,CAAC;YACtD,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,IAAI;YACd,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,qBAAqB;SAC/B,CAAC;QACF,8BAA8B,EAAE,KAAK,CAAC,OAAO,CAAC;YAC5C,OAAO,EAAE,QAAQ,CAAC,UAAU,CAAC,4CAA4C,CAAC;YAC1E,IAAI,EAAE,GAAG;YACT,QAAQ,EAAE,KAAK;YACf,OAAO,EAAE,KAAK;SACf,CAAC;KACH,CAAC;IAEK,KAAK,CAAC,GAAG;QACd,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC;QACxD,MAAM,aAAa,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,SAAS,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC;QACrC,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC;QAC7B,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC;QAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACrD,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC;QACnC,MAAM,oBAAoB,GAAG,KAAK,CAAC,8BAA8B,CAAC,CAAC;QACnE,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,GAAG,MAAM,yBAAyB,CAAC,YAAY,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;YAE9G,IAAI,YAAY,KAAK,QAAQ,IAAI,QAAQ,KAAK,gBAAgB,EAAE,CAAC;gBAC/D,IAAI,CAAC,IAAI,CACP,0HAA0H,CAC3H,CAAC;gBACF,SAAS;YACX,CAAC;YACD,MAAM,cAAc,GAAG,MAAM,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YAC3D,MAAM,oBAAoB,CACxB,cAAc,EACd,QAAQ,EACR,SAAS,EACT,KAAK,EACL,MAAM,EACN,UAAU,EACV,QAAQ,EACR,oBAAoB,CACrB,CAAC;YACF,MAAM,eAAe,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;YAC1E,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,eAAe,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;oBAChC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnB,CAAC,CAAC,CAAC;YACL,CAAC;YACD,IAAI,CAAC,GAAG,CAAC,kEAAkE,YAAY,EAAE,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO;YACL,QAAQ,EAAE,aAAa;SACxB,CAAC;IACJ,CAAC"}
1
+ {"version":3,"file":"decompose.js","sourceRoot":"","sources":["../../../src/commands/decomposer/decompose.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,9 @@
3
3
  import { SfCommand, Flags } from '@salesforce/sf-plugins-core';
4
4
  import { Messages } from '@salesforce/core';
5
5
  import { LOG_FILE } from '../../helpers/constants.js';
6
- import { recomposeFileHandler } from '../../service/recomposeFileHandler.js';
6
+ import { recomposeFileHandler } from '../../service/recompose/recomposeFileHandler.js';
7
7
  import { getRegistryValuesBySuffix } from '../../metadata/getRegistryValuesBySuffix.js';
8
- import { readOriginalLogFile, checkLogForErrors } from '../../service/checkLogforErrors.js';
8
+ import { readOriginalLogFile, checkLogForErrors } from '../../service/core/checkLogforErrors.js';
9
9
  Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
10
10
  const messages = Messages.loadMessages('sf-decomposer', 'decomposer.recompose');
11
11
  export default class DecomposerRecompose extends SfCommand {
@@ -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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"}
@@ -2,7 +2,7 @@
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import { resolve } from 'node:path';
4
4
  import DecomposerRecompose from '../commands/decomposer/recompose.js';
5
- import { getRepoRoot } from '../service/getRepoRoot.js';
5
+ import { getRepoRoot } from '../service/core/getRepoRoot.js';
6
6
  import { HOOK_CONFIG_JSON } from '../helpers/constants.js';
7
7
  export const prerun = async function (options) {
8
8
  if (!['project:deploy:validate', 'project:deploy:start'].includes(options.Command.id)) {
@@ -1 +1 @@
1
- {"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,CAAC,MAAM,MAAM,GAAmB,KAAK,WAAW,OAAO;IAC3D,IAAI,CAAC,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,OAAO;IACT,CAAC;IAED,IAAI,UAAsB,CAAC;IAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,UAAU,GAAW,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/D,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAe,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAW,UAAU,CAAC,gBAAgB,IAAI,GAAG,CAAC;IACjE,MAAM,SAAS,GAAY,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC;IACzD,MAAM,iBAAiB,GAAW,UAAU,CAAC,wBAAwB,IAAI,EAAE,CAAC;IAE5E,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GAAa,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9D,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,YAAY,IAAI,kBAAkB,EAAE,CAAC;QAC9C,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7D,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACpC,MAAM,qBAAqB,GAAa,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5C,WAAW,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC/C,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAC"}
1
+ {"version":3,"file":"prerun.js","sourceRoot":"","sources":["../../src/hooks/prerun.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AAEtE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,CAAC,MAAM,MAAM,GAAmB,KAAK,WAAW,OAAO;IAC3D,IAAI,CAAC,CAAC,yBAAyB,EAAE,sBAAsB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC;QACtF,OAAO;IACT,CAAC;IAED,IAAI,UAAsB,CAAC;IAC3B,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,OAAO;IACT,CAAC;IACD,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;IAEvD,IAAI,CAAC;QACH,MAAM,UAAU,GAAW,MAAM,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC/D,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAe,CAAC;IACpD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;IACT,CAAC;IAED,MAAM,aAAa,GAAW,UAAU,CAAC,gBAAgB,IAAI,GAAG,CAAC;IACjE,MAAM,SAAS,GAAY,UAAU,CAAC,SAAS,IAAI,KAAK,CAAC;IACzD,MAAM,iBAAiB,GAAW,UAAU,CAAC,wBAAwB,IAAI,EAAE,CAAC;IAE5E,IAAI,aAAa,CAAC,IAAI,EAAE,KAAK,GAAG,EAAE,CAAC;QACjC,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GAAa,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE9D,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,KAAK,MAAM,YAAY,IAAI,kBAAkB,EAAE,CAAC;QAC9C,MAAM,qBAAqB,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAC7D,WAAW,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACpC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;IAC1C,CAAC;IACD,IAAI,iBAAiB,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QACpC,MAAM,qBAAqB,GAAa,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrE,KAAK,MAAM,IAAI,IAAI,qBAAqB,EAAE,CAAC;YACzC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC5C,WAAW,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;YAC/C,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IACD,IAAI,SAAS,EAAE,CAAC;QACd,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAClC,CAAC;IACD,MAAM,mBAAmB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import { resolve } from 'node:path';
4
4
  import DecomposerDecompose from '../commands/decomposer/decompose.js';
5
- import { getRepoRoot } from '../service/getRepoRoot.js';
5
+ import { getRepoRoot } from '../service/core/getRepoRoot.js';
6
6
  import { HOOK_CONFIG_JSON } from '../helpers/constants.js';
7
7
  export const scopedPostRetrieve = async function (options) {
8
8
  if (!options.result?.retrieveResult.response.status) {
@@ -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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"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  import { resolve, join, basename } from 'node:path';
3
3
  import { readFile, readdir, stat } from 'node:fs/promises';
4
- import { getRepoRoot } from '../service/getRepoRoot.js';
4
+ import { getRepoRoot } from '../service/core/getRepoRoot.js';
5
5
  import { IGNORE_FILE } from '../helpers/constants.js';
6
6
  export async function getPackageDirectories(metaDirectory, ignoreDirs) {
7
7
  const { repoRoot, dxConfigFilePath } = await getRepoRoot();
@@ -1 +1 @@
1
- {"version":3,"file":"getPackageDirectories.js","sourceRoot":"","sources":["../../src/metadata/getPackageDirectories.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"getPackageDirectories.js","sourceRoot":"","sources":["../../src/metadata/getPackageDirectories.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkLogforErrors.js","sourceRoot":"","sources":["../../../src/service/core/checkLogforErrors.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,OAAe;IACvD,IAAI,WAAqB,CAAC;IAC1B,IAAI,CAAC;QACH,WAAW,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC/D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,WAAW,GAAG,EAAE,CAAC;IACnB,CAAC;IACD,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,OAAe,EAAE,mBAA6B;IACpF,IAAI,UAAoB,CAAC;IACzB,MAAM,SAAS,GAAa,EAAE,CAAC;IAC/B,IAAI,CAAC;QACH,UAAU,GAAG,CAAC,MAAM,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACpE,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;YACjD,SAAS,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  'use strict';
2
2
  import { access } from 'node:fs/promises';
3
3
  import { join, dirname } from 'node:path';
4
- import { SFDX_PROJECT_FILE_NAME } from '../helpers/constants.js';
4
+ import { SFDX_PROJECT_FILE_NAME } from '../../helpers/constants.js';
5
5
  async function findRepoRoot(dir) {
6
6
  const filePath = join(dir, SFDX_PROJECT_FILE_NAME);
7
7
  try {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getRepoRoot.js","sourceRoot":"","sources":["../../../src/service/core/getRepoRoot.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,4BAA4B,CAAC;AAEpE,KAAK,UAAU,YAAY,CACzB,GAAW;IAEX,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,sBAAsB,CAAC,CAAC;IACnD,IAAI,CAAC;QACH,6DAA6D;QAC7D,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;QACvB,OAAO,EAAE,QAAQ,EAAE,GAAG,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;YACtB,4DAA4D;YAC5D,MAAM,IAAI,KAAK,CAAC,GAAG,sBAAsB,qCAAqC,CAAC,CAAC;QAClF,CAAC;QACD,6CAA6C;QAC7C,OAAO,YAAY,CAAC,SAAS,CAAC,CAAC;IACjC,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IACjC,OAAO,YAAY,CAAC,UAAU,CAAC,CAAC;AAClC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"moveFiles.js","sourceRoot":"","sources":["../../../src/service/core/moveFiles.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAEhC,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,eAAuB,EACvB,oBAA4B,EAC5B,SAAwC;IAExC,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC,CAAC;QACzD,IAAI,QAAQ,CAAC,MAAM,EAAE,IAAI,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAC;YAC/C,MAAM,eAAe,GAAG,IAAI,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC;YACzD,MAAM,IAAI,CAAC,UAAU,EAAE,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;AACH,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transformers.js","sourceRoot":"","sources":["../../../src/service/core/transformers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,QAAgB,EAAE,MAAc;IACxE,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,MAAM;YACT,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,MAAM;YACT,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM;QACR,KAAK,OAAO;YACV,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YACjC,MAAM;QACR,KAAK,KAAK;YACR,MAAM,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC/B,MAAM;QACR,KAAK,MAAM;YACT,MAAM,eAAe,CAAC,QAAQ,CAAC,CAAC;YAChC,MAAM;QACR;YACE,OAAO,CAAC,2BAA2B;IACvC,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC"}
@@ -1,14 +1,12 @@
1
1
  'use strict';
2
2
  /* eslint-disable no-await-in-loop */
3
- import { existsSync } from 'node:fs';
4
- import { resolve, relative, join, dirname } from 'node:path';
3
+ import { resolve, relative, join } from 'node:path';
5
4
  import { readdir, stat, rm, rename } from 'node:fs/promises';
6
5
  import { DisassembleXMLFileHandler, setLogLevel } from 'xml-disassembler';
7
- import { CUSTOM_LABELS_FILE, WORKFLOW_SUFFIX_MAPPING } from '../helpers/constants.js';
8
- import { moveFiles } from './moveFiles.js';
9
- import { disassembleAndGroupFieldPermissions } from './disassembleAndGroupFieldPermissions.js';
10
- import { flattenNestedObjectPermissions } from './flattenNestedObjectPermissions.js';
11
- import { transformAndCleanup } from './transformers.js';
6
+ import { CUSTOM_LABELS_FILE, WORKFLOW_SUFFIX_MAPPING } from '../../helpers/constants.js';
7
+ import { moveFiles } from '../core/moveFiles.js';
8
+ import { handleNestedLoyaltyProgramSetupDecomposition } from './nested/loyaltyProgramSetup.js';
9
+ import { handleNestedPermissionSetDecomposition } from './nested/permSets.js';
12
10
  export async function decomposeFileHandler(metaAttributes, prepurge, postpurge, debug, format, ignorePath, strategy, decomposeNestedPerms) {
13
11
  const { metadataPaths, metaSuffix, strictDirectoryName, folderType, uniqueIdElements } = metaAttributes;
14
12
  if (debug)
@@ -39,7 +37,9 @@ async function disassembleHandler(filePath, uniqueIdElements, prePurge, postPurg
39
37
  const handler = new DisassembleXMLFileHandler();
40
38
  let decomposeFormat;
41
39
  let decomposePostPurge;
42
- if (decomposeNestedPerms && metaSuffix === 'permissionset' && strategy === 'grouped-by-tag') {
40
+ const decomposePermSets = decomposeNestedPerms && metaSuffix === 'permissionset' && strategy === 'grouped-by-tag';
41
+ const decomposeLoyalyProgram = metaSuffix === 'loyaltyProgramSetup' && strategy === 'unique-id';
42
+ if (decomposePermSets || decomposeLoyalyProgram) {
43
43
  decomposeFormat = 'xml';
44
44
  decomposePostPurge = false;
45
45
  }
@@ -56,38 +56,12 @@ async function disassembleHandler(filePath, uniqueIdElements, prePurge, postPurg
56
56
  format: decomposeFormat,
57
57
  strategy,
58
58
  });
59
- // If permission set, disassemble any objectSettings.xml found recursively
60
- if (decomposeNestedPerms && metaSuffix === 'permissionset' && strategy === 'grouped-by-tag') {
61
- const disassembledDir = filePath.replace(/\.xml$/, '');
62
- const recursivelyDisassembleObjectSettings = async (dir) => {
63
- const entries = await readdir(dir, { withFileTypes: true });
64
- for (const entry of entries) {
65
- const fullPath = join(dir, entry.name);
66
- if (entry.isDirectory()) {
67
- await recursivelyDisassembleObjectSettings(fullPath);
68
- }
69
- else if (entry.isFile() && entry.name === 'objectPermissions.xml') {
70
- await handler.disassemble({
71
- filePath: fullPath,
72
- uniqueIdElements,
73
- prePurge: false,
74
- postPurge: true,
75
- format: 'xml',
76
- strategy: 'unique-id',
77
- });
78
- await flattenNestedObjectPermissions(dirname(fullPath), format);
79
- }
80
- else if (entry.isFile() && entry.name === 'fieldPermissions.xml') {
81
- await disassembleAndGroupFieldPermissions(fullPath, format);
82
- }
83
- else if (entry.isFile() && dirname(fullPath) !== filePath && fullPath.endsWith('.xml')) {
84
- await transformAndCleanup(fullPath, format);
85
- }
86
- }
87
- };
88
- if (existsSync(disassembledDir)) {
89
- await recursivelyDisassembleObjectSettings(disassembledDir);
90
- }
59
+ // Dispatch recursive decomposition based on type
60
+ if (decomposePermSets) {
61
+ await handleNestedPermissionSetDecomposition(filePath, uniqueIdElements, handler, format);
62
+ }
63
+ if (decomposeLoyalyProgram) {
64
+ await handleNestedLoyaltyProgramSetupDecomposition(filePath, handler, format);
91
65
  }
92
66
  }
93
67
  async function prePurgeLabels(metadataPath) {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"decomposeFileHandler.js","sourceRoot":"","sources":["../../../src/service/decompose/decomposeFileHandler.ts"],"names":[],"mappings":"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"}
@@ -2,10 +2,11 @@
2
2
  import { writeFile, rm, mkdir } from 'node:fs/promises';
3
3
  import { join } from 'node:path';
4
4
  import { buildXMLString, parseXML } from 'xml-disassembler';
5
- import { XML_DECLARATION } from '../helpers/constants.js';
6
- import { transformAndCleanup } from './transformers.js';
5
+ import { XML_DECLARATION } from '../../helpers/constants.js';
6
+ import { transformAndCleanup } from '../core/transformers.js';
7
7
  export async function disassembleAndGroupFieldPermissions(filePath, format) {
8
8
  const parsed = await parseXML(filePath);
9
+ // this won't disassemble if there's only 1 field permission in the file
9
10
  const fieldPermissions = parsed?.PermissionSet?.fieldPermissions;
10
11
  if (!fieldPermissions || !Array.isArray(fieldPermissions)) {
11
12
  return;
@@ -34,7 +35,7 @@ export async function disassembleAndGroupFieldPermissions(filePath, format) {
34
35
  })),
35
36
  },
36
37
  };
37
- const xmlString = buildXMLString(groupedElement, 0);
38
+ const xmlString = buildXMLString(groupedElement);
38
39
  const outPath = join(outputDir, `${objectName}.fieldPermissions.xml`);
39
40
  await writeFile(outPath, `${XML_DECLARATION}\n${xmlString}`, 'utf-8');
40
41
  await transformAndCleanup(outPath, format);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"disassembleAndGroupFieldPermissions.js","sourceRoot":"","sources":["../../../src/service/decompose/disassembleAndGroupFieldPermissions.ts"],"names":[],"mappings":"AAAA,qCAAqC;AACrC,OAAO,EAAE,SAAS,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAc,MAAM,kBAAkB,CAAC;AAExE,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAE7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,mCAAmC,CAAC,QAAgB,EAAE,MAAc;IACxF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAExC,wEAAwE;IACxE,MAAM,gBAAgB,GAAG,MAAM,EAAE,aAAa,EAAE,gBAAiD,CAAC;IAClG,IAAI,CAAC,gBAAgB,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,CAAC;QAC1D,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAsC,EAAE,CAAC;IAE9D,KAAK,MAAM,IAAI,IAAI,gBAAgB,EAAE,CAAC;QACpC,MAAM,UAAU,GAAG,IAAI,EAAE,KAAK,CAAC;QAC/B,IAAI,OAAO,UAAU,KAAK,QAAQ;YAAE,SAAS;QAE7C,MAAM,UAAU,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5C,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,eAAe,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC;QACnC,CAAC;QAED,eAAe,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,MAAM,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACjD,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAE5C,KAAK,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAClE,MAAM,cAAc,GAAe;YACjC,aAAa,EAAE;gBACb,SAAS,EAAE,yCAAyC;gBACpD,gBAAgB,EAAE,KAAK,CAAC,GAAG,CAAa,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACjD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;oBAC1C,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,QAAQ,IAAI,OAAO,CAAC;iBAC3C,CAAC,CAAC;aACJ;SACF,CAAC;QAEF,MAAM,SAAS,GAAG,cAAc,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,EAAE,GAAG,UAAU,uBAAuB,CAAC,CAAC;QACtE,MAAM,SAAS,CAAC,OAAO,EAAE,GAAG,eAAe,KAAK,SAAS,EAAE,EAAE,OAAO,CAAC,CAAC;QACtE,MAAM,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IACD,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACtC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable no-await-in-loop */
3
3
  import { join } from 'node:path';
4
4
  import { readdir, rm, rename } from 'node:fs/promises';
5
- import { transformAndCleanup } from './transformers.js';
5
+ import { transformAndCleanup } from '../core/transformers.js';
6
6
  export async function flattenNestedObjectPermissions(disassembledDir, format) {
7
7
  const outerDir = join(disassembledDir, 'objectPermissions');
8
8
  const nestedDir = join(outerDir, 'objectPermissions');
@@ -0,0 +1 @@
1
+ {"version":3,"file":"flattenNestedObjectPermissions.js","sourceRoot":"","sources":["../../../src/service/decompose/flattenNestedObjectPermissions.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AACrC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAEvD,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAE9D,MAAM,CAAC,KAAK,UAAU,8BAA8B,CAAC,eAAuB,EAAE,MAAc;IAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,mBAAmB,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,CAAC;IAC7C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QACxB,MAAM,mBAAmB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,qCAAqC;IACrC,MAAM,EAAE,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;AACxD,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { DisassembleXMLFileHandler } from 'xml-disassembler';
2
+ export declare function handleNestedLoyaltyProgramSetupDecomposition(filePath: string, handler: DisassembleXMLFileHandler, format: string): Promise<void>;
@@ -0,0 +1,32 @@
1
+ 'use strict';
2
+ /* eslint-disable no-await-in-loop */
3
+ import { existsSync } from 'node:fs';
4
+ import { join, dirname } from 'node:path';
5
+ import { readdir } from 'node:fs/promises';
6
+ import { transformAndCleanup } from '../../core/transformers.js';
7
+ import { stripRootAndDisassemble } from './stripRootAndDisassemble.js';
8
+ export async function handleNestedLoyaltyProgramSetupDecomposition(filePath, handler, format) {
9
+ const disassembledDir = filePath.replace(/\.xml$/, '');
10
+ const recursivelyDisassembleLoyaltyProgramSetup = async (dir) => {
11
+ const entries = await readdir(dir, { withFileTypes: true });
12
+ for (const entry of entries) {
13
+ const fullPath = join(dir, entry.name);
14
+ if (entry.isDirectory()) {
15
+ await recursivelyDisassembleLoyaltyProgramSetup(fullPath);
16
+ }
17
+ else if (entry.isFile() && fullPath.endsWith('.xml')) {
18
+ // Add conditional handling for loyalty program-related nested files
19
+ if (entry.name.includes('programProcesses-meta')) {
20
+ await stripRootAndDisassemble(fullPath, handler, format);
21
+ }
22
+ else if (dirname(fullPath) !== filePath && fullPath.endsWith('.xml')) {
23
+ await transformAndCleanup(fullPath, format);
24
+ }
25
+ }
26
+ }
27
+ };
28
+ if (existsSync(disassembledDir)) {
29
+ await recursivelyDisassembleLoyaltyProgramSetup(disassembledDir);
30
+ }
31
+ }
32
+ //# sourceMappingURL=loyaltyProgramSetup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loyaltyProgramSetup.js","sourceRoot":"","sources":["../../../../src/service/decompose/nested/loyaltyProgramSetup.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,uBAAuB,EAAE,MAAM,8BAA8B,CAAC;AAEvE,MAAM,CAAC,KAAK,UAAU,4CAA4C,CAChE,QAAgB,EAChB,OAAkC,EAClC,MAAc;IAEd,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEvD,MAAM,yCAAyC,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;QACrF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAE5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,yCAAyC,CAAC,QAAQ,CAAC,CAAC;YAC5D,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvD,oEAAoE;gBACpE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,uBAAuB,CAAC,EAAE,CAAC;oBACjD,MAAM,uBAAuB,CAAC,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC3D,CAAC;qBAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;oBACvE,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;gBAC9C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,MAAM,yCAAyC,CAAC,eAAe,CAAC,CAAC;IACnE,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { DisassembleXMLFileHandler } from 'xml-disassembler';
2
+ export declare function handleNestedPermissionSetDecomposition(filePath: string, uniqueIdElements: string, handler: DisassembleXMLFileHandler, format: string): Promise<void>;
@@ -0,0 +1,41 @@
1
+ 'use strict';
2
+ /* eslint-disable no-await-in-loop */
3
+ import { existsSync } from 'node:fs';
4
+ import { join, dirname } from 'node:path';
5
+ import { readdir } from 'node:fs/promises';
6
+ import { disassembleAndGroupFieldPermissions } from '../disassembleAndGroupFieldPermissions.js';
7
+ import { flattenNestedObjectPermissions } from '../flattenNestedObjectPermissions.js';
8
+ import { transformAndCleanup } from '../../core/transformers.js';
9
+ export async function handleNestedPermissionSetDecomposition(filePath, uniqueIdElements, handler, format) {
10
+ const disassembledDir = filePath.replace(/\.xml$/, '');
11
+ const recursivelyDisassembleObjectSettings = async (dir) => {
12
+ const entries = await readdir(dir, { withFileTypes: true });
13
+ for (const entry of entries) {
14
+ const fullPath = join(dir, entry.name);
15
+ if (entry.isDirectory()) {
16
+ await recursivelyDisassembleObjectSettings(fullPath);
17
+ }
18
+ else if (entry.isFile() && entry.name === 'objectPermissions.xml') {
19
+ await handler.disassemble({
20
+ filePath: fullPath,
21
+ uniqueIdElements,
22
+ prePurge: false,
23
+ postPurge: true,
24
+ format: 'xml',
25
+ strategy: 'unique-id',
26
+ });
27
+ await flattenNestedObjectPermissions(dirname(fullPath), format);
28
+ }
29
+ else if (entry.isFile() && entry.name === 'fieldPermissions.xml') {
30
+ await disassembleAndGroupFieldPermissions(fullPath, format);
31
+ }
32
+ else if (entry.isFile() && dirname(fullPath) !== filePath && fullPath.endsWith('.xml')) {
33
+ await transformAndCleanup(fullPath, format);
34
+ }
35
+ }
36
+ };
37
+ if (existsSync(disassembledDir)) {
38
+ await recursivelyDisassembleObjectSettings(disassembledDir);
39
+ }
40
+ }
41
+ //# sourceMappingURL=permSets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"permSets.js","sourceRoot":"","sources":["../../../../src/service/decompose/nested/permSets.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAG3C,OAAO,EAAE,mCAAmC,EAAE,MAAM,2CAA2C,CAAC;AAChG,OAAO,EAAE,8BAA8B,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,sCAAsC,CAC1D,QAAgB,EAChB,gBAAwB,EACxB,OAAkC,EAClC,MAAc;IAEd,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAEvD,MAAM,oCAAoC,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;QAChF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5D,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;YAEvC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,MAAM,oCAAoC,CAAC,QAAQ,CAAC,CAAC;YACvD,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,uBAAuB,EAAE,CAAC;gBACpE,MAAM,OAAO,CAAC,WAAW,CAAC;oBACxB,QAAQ,EAAE,QAAQ;oBAClB,gBAAgB;oBAChB,QAAQ,EAAE,KAAK;oBACf,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,KAAK;oBACb,QAAQ,EAAE,WAAW;iBACtB,CAAC,CAAC;gBACH,MAAM,8BAA8B,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,CAAC;YAClE,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,KAAK,sBAAsB,EAAE,CAAC;gBACnE,MAAM,mCAAmC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9D,CAAC;iBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBACzF,MAAM,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC,CAAC;IAEF,IAAI,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QAChC,MAAM,oCAAoC,CAAC,eAAe,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { DisassembleXMLFileHandler } from 'xml-disassembler';
2
+ export declare function stripRootAndDisassemble(fullPath: string, handler: DisassembleXMLFileHandler, format: string): Promise<void>;
@@ -0,0 +1,25 @@
1
+ import { writeFile } from 'node:fs/promises';
2
+ import { parseXML, buildXMLString } from 'xml-disassembler';
3
+ import { XML_DECLARATION } from '../../../helpers/constants.js';
4
+ export async function stripRootAndDisassemble(fullPath, handler, format) {
5
+ const parsed = await parseXML(fullPath);
6
+ const contents = parsed?.LoyaltyProgramSetup;
7
+ if (!contents)
8
+ return;
9
+ // Remove the root and build XML with just the inner nodes (programProcesses)
10
+ const stripped = {};
11
+ for (const [key, value] of Object.entries(contents)) {
12
+ stripped[key] = value;
13
+ }
14
+ const newXml = buildXMLString(stripped);
15
+ await writeFile(fullPath, `${XML_DECLARATION}\n${newXml}`, 'utf-8');
16
+ await handler.disassemble({
17
+ filePath: fullPath,
18
+ format,
19
+ strategy: 'unique-id',
20
+ prePurge: false,
21
+ postPurge: true,
22
+ uniqueIdElements: 'parameterName,ruleName',
23
+ });
24
+ }
25
+ //# sourceMappingURL=stripRootAndDisassemble.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stripRootAndDisassemble.js","sourceRoot":"","sources":["../../../../src/service/decompose/nested/stripRootAndDisassemble.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,cAAc,EAAyC,MAAM,kBAAkB,CAAC;AACnG,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAEhE,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,QAAgB,EAChB,OAAkC,EAClC,MAAc;IAEd,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,EAAE,mBAAmB,CAAC;IAE7C,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,6EAA6E;IAC7E,MAAM,QAAQ,GAAe,EAAE,CAAC;IAEhC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpD,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,MAAM,MAAM,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxC,MAAM,SAAS,CAAC,QAAQ,EAAE,GAAG,eAAe,KAAK,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC;IAEpE,MAAM,OAAO,CAAC,WAAW,CAAC;QACxB,QAAQ,EAAE,QAAQ;QAClB,MAAM;QACN,QAAQ,EAAE,WAAW;QACrB,QAAQ,EAAE,KAAK;QACf,SAAS,EAAE,IAAI;QACf,gBAAgB,EAAE,wBAAwB;KAC3C,CAAC,CAAC;AACL,CAAC"}
@@ -1,11 +1,14 @@
1
+ /* eslint-disable no-console */
1
2
  'use strict';
2
3
  /* eslint-disable no-await-in-loop */
4
+ import { existsSync } from 'node:fs';
3
5
  import { readdir, stat, rm } from 'node:fs/promises';
4
6
  import { join } from 'node:path';
5
7
  import { ReassembleXMLFileHandler, setLogLevel } from 'xml-disassembler';
6
- import { CUSTOM_LABELS_FILE } from '../helpers/constants.js';
8
+ import { CUSTOM_LABELS_FILE } from '../../helpers/constants.js';
9
+ import { moveFiles } from '../core/moveFiles.js';
7
10
  import { renameBotVersionFile } from './renameBotVersionFiles.js';
8
- import { moveFiles } from './moveFiles.js';
11
+ import { wrapAllFilesWithLoyaltyRoot } from './wrapAllFilesWithLoyaltyRoot.js';
9
12
  export async function recomposeFileHandler(metaAttributes, postpurge, debug) {
10
13
  const { metaSuffix, strictDirectoryName, folderType, metadataPaths } = metaAttributes;
11
14
  if (debug)
@@ -14,6 +17,9 @@ export async function recomposeFileHandler(metaAttributes, postpurge, debug) {
14
17
  if (metaSuffix === 'labels') {
15
18
  await reassembleLabels(metadataPath, metaSuffix, postpurge);
16
19
  }
20
+ else if (metaSuffix === 'loyaltyProgramSetup') {
21
+ await reassembleLoyaltyProgramSetup(metadataPath);
22
+ }
17
23
  else {
18
24
  let recurse = false;
19
25
  if (strictDirectoryName || folderType)
@@ -68,4 +74,28 @@ async function reassembleDirectories(metadataPath, metaSuffix, recurse, postpurg
68
74
  }
69
75
  }
70
76
  }
77
+ async function reassembleLoyaltyProgramSetup(basePath) {
78
+ const children = await readdir(basePath, { withFileTypes: true });
79
+ for (const entry of children) {
80
+ if (!entry.isDirectory())
81
+ continue;
82
+ const metadataFolder = join(basePath, entry.name);
83
+ const programProcessesPath = join(metadataFolder, 'programProcesses');
84
+ if (!existsSync(programProcessesPath))
85
+ continue;
86
+ const processDirs = await readdir(programProcessesPath);
87
+ for (const process of processDirs) {
88
+ const processPath = join(programProcessesPath, process);
89
+ const subDirs = await readdir(processPath, { withFileTypes: true });
90
+ for (const subDir of subDirs) {
91
+ if (subDir.isDirectory()) {
92
+ await reassembleHandler(join(processPath, subDir.name), 'xml', true);
93
+ }
94
+ }
95
+ await reassembleHandler(processPath, 'xml', true);
96
+ }
97
+ await wrapAllFilesWithLoyaltyRoot(programProcessesPath);
98
+ await reassembleHandler(metadataFolder, 'loyaltyProgramSetup-meta.xml', true);
99
+ }
100
+ }
71
101
  //# sourceMappingURL=recomposeFileHandler.js.map