sf-decomposer 5.3.9 → 5.3.11
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 +15 -0
- package/README.md +78 -70
- package/messages/decomposer.decompose.md +4 -4
- package/messages/decomposer.recompose.md +3 -3
- package/oclif.lock +31 -19
- package/oclif.manifest.json +8 -8
- package/package.json +6 -6
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,21 @@
|
|
|
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.3.11](https://github.com/mcarvin8/sf-decomposer/compare/v5.3.10...v5.3.11) (2025-02-24)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **deps:** bump @salesforce/source-deploy-retrieve ([bbd3ec4](https://github.com/mcarvin8/sf-decomposer/commit/bbd3ec4a807ef9277aec4e8e22b58c4e4820be61))
|
|
14
|
+
* **deps:** bump the xml-disassemblers group across 1 directory with 3 updates ([8b9966f](https://github.com/mcarvin8/sf-decomposer/commit/8b9966f071666c56f19851eb4962ccc1424b0ba0))
|
|
15
|
+
|
|
16
|
+
## [5.3.10](https://github.com/mcarvin8/sf-decomposer/compare/v5.3.9...v5.3.10) (2025-02-16)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* **deps:** bump @salesforce/source-deploy-retrieve ([38a9946](https://github.com/mcarvin8/sf-decomposer/commit/38a9946f306cac16537fd19d95fadb8fe00e25bb))
|
|
22
|
+
|
|
8
23
|
## [5.3.9](https://github.com/mcarvin8/sf-decomposer/compare/v5.3.8...v5.3.9) (2025-02-10)
|
|
9
24
|
|
|
10
25
|
|
package/README.md
CHANGED
|
@@ -7,18 +7,19 @@
|
|
|
7
7
|
<summary>Table of Contents</summary>
|
|
8
8
|
|
|
9
9
|
- [Install](#install)
|
|
10
|
-
- [Why
|
|
10
|
+
- [Why SF Decomposer](#why-sf-decomposer)
|
|
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
15
|
- [Supported Metadata](#supported-metadata)
|
|
15
16
|
- [Metadata Exceptions](#metadata-exceptions)
|
|
16
17
|
- [Debugging](#debugging)
|
|
17
|
-
- [Ignore Files when Decomposing](#ignore-files-when-decomposing)
|
|
18
18
|
- [Hooks](#hooks)
|
|
19
19
|
- [Ignore Files](#ignore-files)
|
|
20
|
-
- [`.forceignore`
|
|
21
|
-
- [`.
|
|
20
|
+
- [`.forceignore`](#.forceignore)
|
|
21
|
+
- [`.sfdecomposerignore`](#.sfdecomposerignore)
|
|
22
|
+
- [`.gitignore`](#.gitignore)
|
|
22
23
|
- [Contributing](#contributing)
|
|
23
24
|
- [Issues](#issues)
|
|
24
25
|
- [License](#license)
|
|
@@ -26,28 +27,21 @@
|
|
|
26
27
|
|
|
27
28
|
A Salesforce CLI plugin to break down large metadata files into smaller, more manageable files for version control and then recreate deployment-compatible files.
|
|
28
29
|
|
|
29
|
-
**DISCLAIMERS:**
|
|
30
|
-
|
|
31
|
-
- You must update the `.forceignore` to have the Salesforce CLI ignore the decomposed files created by this plugin. See [Ignore Files](#ignore-files).
|
|
32
|
-
- It is recommended that you extensively test this plugin in a sandbox environment on the metadata types for which you wish to use this tool.
|
|
33
|
-
- Do not change your production/QA pipelines until you have tested this and are happy with the results.
|
|
34
|
-
- Ensure your deployment pipelines are stable before implementing this plugin.
|
|
35
|
-
|
|
36
30
|
## Install
|
|
37
31
|
|
|
38
32
|
```bash
|
|
39
33
|
sf plugins install sf-decomposer@x.y.z
|
|
40
34
|
```
|
|
41
35
|
|
|
42
|
-
## Why
|
|
36
|
+
## Why SF Decomposer
|
|
43
37
|
|
|
44
|
-
Why should you consider using
|
|
38
|
+
Why should you consider using `sf-decomposer` over Salesforce's decomposition?
|
|
45
39
|
|
|
46
|
-
- Salesforce's decomposition betas are evaluated for each metadata type before they are considered.
|
|
47
|
-
- Salesforce's decomposition is all or nothing for each metadata type. Meaning, if you want to decompose workflows, all of your workflows will need to be decomposed to work with Salesforce's approach.
|
|
48
|
-
- See [
|
|
49
|
-
- Some metadata types may only be partially decomposed by Salesforce such as permission sets based on what designs are picked.
|
|
50
|
-
- When
|
|
40
|
+
- Salesforce's decomposition betas are evaluated for each metadata type before they are considered. `sf-decomposer` supports the vast majority of Salesforce metadata types available from the Metadata API.
|
|
41
|
+
- Salesforce's decomposition is all or nothing for each metadata type. Meaning, if you want to decompose workflows, all of your workflows will need to be decomposed to work with Salesforce's approach. `sf-decomposer` allows you to selectively decompose for each metadata type.
|
|
42
|
+
- See [.sfdecomposerignore](#.sfdecomposerignore)
|
|
43
|
+
- Some metadata types may only be partially decomposed by Salesforce such as permission sets based on what designs are picked. `sf-decomposer` will allow for total decomposition. So if a user wants to fully decompose permission sets, they can use this plugin.
|
|
44
|
+
- When `sf-decomposer` recomposes the decomposed files, it will sort the elements consistently compared to native Salesforce files.
|
|
51
45
|
|
|
52
46
|
## Commands
|
|
53
47
|
|
|
@@ -60,40 +54,25 @@ The `sf-decomposer` supports 2 commands:
|
|
|
60
54
|
|
|
61
55
|
Decomposes the original metadata files in all local package directories into smaller files for version control.
|
|
62
56
|
|
|
63
|
-
When the files are decomposed, it will:
|
|
64
|
-
- decompose leaf elements (i.e. `<userLicense>Salesforce</userLicense>`) in the same file. The leaf file-name will match the original file-name, just in a decomposed directory.
|
|
65
|
-
- decompose nested elements into their own files.
|
|
66
|
-
- If unique ID elements are found, the decomposed files will be named using them.
|
|
67
|
-
- Otherwise, the decomposed files will be named with the SHA-256 hash of the element contents.
|
|
68
|
-
- See [Contributing](#contributing) for more information on unique ID elements.
|
|
69
|
-
|
|
70
|
-
<img src="https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-perm-set.png">
|
|
71
|
-
<p><em>Decomposed Permission Sets named using unique ID elements</em></p>
|
|
72
|
-
|
|
73
|
-
<br>
|
|
74
|
-
|
|
75
|
-
<img src="https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-labels.png" alt="Description">
|
|
76
|
-
<p><em>Decomposed Custom Labels named using unique ID elements</em></p>
|
|
77
|
-
|
|
78
|
-
<br>
|
|
79
|
-
|
|
80
|
-
<img src="https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-apps-hashes.png">
|
|
81
|
-
<p><em>Decomposed Application named using SHA-256 hashes of elements</em></p>
|
|
82
|
-
|
|
83
|
-
<br>
|
|
84
|
-
|
|
85
57
|
```
|
|
86
58
|
USAGE
|
|
87
59
|
$ sf decomposer decompose -m <value> -f <value> -i <value> [--prepurge --postpurge --debug --json]
|
|
88
60
|
|
|
89
61
|
FLAGS
|
|
90
|
-
-m, --metadata-type=<value> The metadata suffix to process, such as 'flow', 'labels', etc.
|
|
91
|
-
-f, --format=<value> [default: 'xml'] The file type for the decomposed files. Must match what format you provide for recompose.
|
|
92
|
-
-i, --ignore-package-directory=<value> Package directories to ignore. Should be as they appear in the "sfdx-project.json" file.
|
|
62
|
+
-m, --metadata-type=<value> The metadata suffix to process, such as 'flow', 'labels', etc.
|
|
93
63
|
Can be declared multiple times.
|
|
94
|
-
--
|
|
95
|
-
|
|
96
|
-
|
|
64
|
+
-f, --format=<value> The file type for the decomposed files.
|
|
65
|
+
Must match what format you provide for recompose.
|
|
66
|
+
[default: 'xml']
|
|
67
|
+
-i, --ignore-package-directory=<value> Package directory to ignore.
|
|
68
|
+
Should be as they appear in the "sfdx-project.json".
|
|
69
|
+
Can be declared multiple times.
|
|
70
|
+
--prepurge Purgd directories of pre-existing decomposed files.
|
|
71
|
+
[default: false]
|
|
72
|
+
--postpurge Purge the original files after decomposing them.
|
|
73
|
+
[default: false]
|
|
74
|
+
--debug Log debugging results to a text file (disassemble.log).
|
|
75
|
+
[default: false]
|
|
97
76
|
|
|
98
77
|
GLOBAL FLAGS
|
|
99
78
|
--json Format output as json.
|
|
@@ -127,12 +106,18 @@ USAGE
|
|
|
127
106
|
$ sf decomposer recompose -m <value> -f <value> -i <value> [--postpurge --debug --json]
|
|
128
107
|
|
|
129
108
|
FLAGS
|
|
130
|
-
-m, --metadata-type=<value> The metadata suffix to process, such as 'flow', 'labels', etc.
|
|
131
|
-
|
|
132
|
-
-
|
|
109
|
+
-m, --metadata-type=<value> The metadata suffix to process, such as 'flow', 'labels', etc.
|
|
110
|
+
Can be declared multiple times.
|
|
111
|
+
-f, --format=<value> The file format for the decomposed files.
|
|
112
|
+
Must match what format you provide for decompose.
|
|
113
|
+
[default: 'xml']
|
|
114
|
+
-i, --ignore-package-directory=<value> Package directory to ignore.
|
|
115
|
+
Should be as they appear in the "sfdx-project.json".
|
|
133
116
|
Can be declared multiple times.
|
|
134
|
-
--postpurge
|
|
135
|
-
|
|
117
|
+
--postpurge Purge the decomposed files after recomposing them.
|
|
118
|
+
[default: false]
|
|
119
|
+
--debug Log debugging results to a text file (disassemble.log).
|
|
120
|
+
[default: false]
|
|
136
121
|
|
|
137
122
|
GLOBAL FLAGS
|
|
138
123
|
--json Format output as json.
|
|
@@ -157,6 +142,29 @@ EXAMPLES
|
|
|
157
142
|
|
|
158
143
|
```
|
|
159
144
|
|
|
145
|
+
## Decompose Structure
|
|
146
|
+
|
|
147
|
+
When the original metadata files are decomposed, this structure is followed for all metadata types except for custom labels:
|
|
148
|
+
|
|
149
|
+
- Leaf elements (i.e. `<userLicense>Salesforce</userLicense>`) will be decomposed in the same file in the root of the decomposed directory. The leaf file-name will match the original file-name.
|
|
150
|
+
- Nested elements will be decomposed into their own files under sub-directories by the element type, i.e. custom permissions in a permission set will have their own decomposed file under a custom permissions sub-folder.
|
|
151
|
+
- If unique ID elements are found, the decomposed nested files will be named using them.
|
|
152
|
+
- Otherwise, the decomposed nested files will be named with the SHA-256 hash of the element contents.
|
|
153
|
+
- See [Contributing](#contributing) for more information on unique ID elements.
|
|
154
|
+
|
|
155
|
+
<img src="https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-perm-set.png">
|
|
156
|
+
<p><em>Decomposed Permission Sets named using unique ID elements</em></p>
|
|
157
|
+
|
|
158
|
+
<br>
|
|
159
|
+
|
|
160
|
+
<img src="https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-apps-hashes.png">
|
|
161
|
+
<p><em>Decomposed Application named using SHA-256 hashes of elements</em></p>
|
|
162
|
+
|
|
163
|
+
When custom labels are decomposed, each custom label will have its own file in the original labels directory.
|
|
164
|
+
|
|
165
|
+
<img src="https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-labels.png" alt="Description">
|
|
166
|
+
<p><em>Decomposed Custom Labels</em></p>
|
|
167
|
+
|
|
160
168
|
## Supported Metadata
|
|
161
169
|
|
|
162
170
|
All metadata types imported from this plugin's version of `@salesforce/source-deploy-retrieve` (SDR) toolkit are supported except for certain types.
|
|
@@ -196,13 +204,13 @@ Here are some examples:
|
|
|
196
204
|
|
|
197
205
|
## Debugging
|
|
198
206
|
|
|
199
|
-
|
|
207
|
+
`sf-decomposer` searches the current working directory for the `sfdx-project.json`, and if it's not found in the current working directory, it will search upwards for it until it hits your root drive. If the `sfdx-project.json` file isn't found, the plugin will fail with:
|
|
200
208
|
|
|
201
209
|
```
|
|
202
210
|
Error (1): sfdx-project.json not found in any parent directory.
|
|
203
211
|
```
|
|
204
212
|
|
|
205
|
-
The xml-disassembler package will log errors, and optionally debugging statements, to a log file, `disassemble.log`. This log will be created in the working directory and will be created when running this plugin at all times. If there were no errors, this log will be empty. By default, the log will only contain errors. This plugin will print the errors as warnings in the command terminal to allow all other files to be processed. These warnings when decomposing or recomposing will look like:
|
|
213
|
+
The `xml-disassembler` package will log errors, and optionally debugging statements, to a log file, `disassemble.log`. This log will be created in the working directory and will be created when running this plugin at all times. If there were no errors, this log will be empty. By default, the log will only contain errors. This plugin will print the errors as warnings in the command terminal to allow all other files to be processed. These warnings when decomposing or recomposing will look like:
|
|
206
214
|
|
|
207
215
|
```
|
|
208
216
|
Warning: C:\Users\matth\Documents\sf-decomposer\test\baselines\flows\Get_Info\actionCalls\Get_Info.actionCalls-meta.xml was unabled to be parsed and will not be processed. Confirm formatting and try again.
|
|
@@ -216,21 +224,9 @@ To add additional debugging statements to the log file, provide the `--debug` fl
|
|
|
216
224
|
|
|
217
225
|
Recommend adding the `disassemble.log` to your `.gitignore` file if you are using this in a git-based repo.
|
|
218
226
|
|
|
219
|
-
## Ignore Files when Decomposing
|
|
220
|
-
|
|
221
|
-
If you wish, you can create an ignore file in the root of your repository named `.sfdecomposerignore` to ignore specific XMLs when running the decompose command. The ignore file should follow [.gitignore spec 2.22.1](https://git-scm.com/docs/gitignore).
|
|
222
|
-
|
|
223
|
-
When the decompose command is ran with the `--debug` flag and it processes a file that matches an entry in `.sfdecomposerignore`, a warning will be printed to the `disassemble.log`:
|
|
224
|
-
|
|
225
|
-
```
|
|
226
|
-
[2024-05-22T09:32:12.078] [WARN] default - File ignored by .sfdecomposerignore: C:\Users\matth\Documents\sf-decomposer\test\baselines\bots\Assessment_Bot\v1.botVersion-meta.xml
|
|
227
|
-
```
|
|
228
|
-
|
|
229
|
-
The ignore file is not read by the recompose command.
|
|
230
|
-
|
|
231
227
|
## Hooks
|
|
232
228
|
|
|
233
|
-
**NOTE:** In order to avoid errors during the retrieval, you must configure your `.forceignore` file to have the Salesforce CLI ignore the decomposed files. See [Ignore Files](#ignore-files) section.
|
|
229
|
+
> **NOTE:** In order to avoid errors during the retrieval, you must configure your `.forceignore` file to have the Salesforce CLI ignore the decomposed files. See [Ignore Files](#ignore-files) section.
|
|
234
230
|
|
|
235
231
|
A post-retrieve hook (for the decompose command) and a pre-run hook (for the recompose command) have been configured if you elect to use them. The post-retrieve hook will automatically decompose the desired metadata types after every Salesforce CLI retrieval (`sf project retrieve start` command). The pre-run hook will automatically recompose the desired metadata types before every Salesforce CLI deployment/validation (`sf project deploy start` and `sf project deploy validate` commands).
|
|
236
232
|
|
|
@@ -246,15 +242,27 @@ If the `.sfdecomposer.config.json` file isn't found, the hooks will be skipped.
|
|
|
246
242
|
|
|
247
243
|
## Ignore Files
|
|
248
244
|
|
|
249
|
-
### `.forceignore`
|
|
245
|
+
### `.forceignore`
|
|
250
246
|
|
|
251
247
|
The Salesforce CLI **must** ignore the decomposed files and allow the recomposed files.
|
|
252
248
|
|
|
253
249
|
You can use the sample [.forceignore](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/samples/.forceignore) provided. Update the decomposed file extensions based on what format you're using (`.xml`, `.json`, or `.yaml`).
|
|
254
250
|
|
|
255
|
-
### `.
|
|
251
|
+
### `.sfdecomposerignore`
|
|
252
|
+
|
|
253
|
+
If you wish, you can create a `.sfdecomposerignore` file in the root of your repository to ignore specific XMLs when running the decompose command. The `.sfdecomposerignore` file should follow [.gitignore spec 2.22.1](https://git-scm.com/docs/gitignore).
|
|
254
|
+
|
|
255
|
+
When the decompose command is ran with the `--debug` flag and it processes a file that matches an entry in `.sfdecomposerignore`, a warning will be printed to the `disassemble.log`:
|
|
256
|
+
|
|
257
|
+
```
|
|
258
|
+
[2024-05-22T09:32:12.078] [WARN] default - File ignored by .sfdecomposerignore: C:\Users\matth\Documents\sf-decomposer\test\baselines\bots\Assessment_Bot\v1.botVersion-meta.xml
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
`.sfdecomposerignore` is not read by the recompose command.
|
|
262
|
+
|
|
263
|
+
### `.gitignore`
|
|
256
264
|
|
|
257
|
-
Optionally, Git (or whatever version control system you are using) can ignore the recomposed files so you don't stage those in your repositories. You can also ignore the log created by the disassembler package.
|
|
265
|
+
Optionally, Git (or whatever version control system you are using) can ignore the recomposed files so you don't stage those in your repositories. You can also have git ignore the `disassemble.log` created by the `xml-disassembler` package.
|
|
258
266
|
|
|
259
267
|
You can use the sample [.gitignore](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/samples/.gitignore) provided.
|
|
260
268
|
|
|
@@ -264,7 +272,7 @@ Contributions are welcome! See [Contributing](https://github.com/mcarvin8/sf-dec
|
|
|
264
272
|
|
|
265
273
|
## Issues
|
|
266
274
|
|
|
267
|
-
If you encounter any
|
|
275
|
+
If you encounter any bugs or would like to request features, please create an [issue](https://github.com/mcarvin8/sf-decomposer/issues).
|
|
268
276
|
|
|
269
277
|
## License
|
|
270
278
|
|
|
@@ -16,19 +16,19 @@ You should run this after you retrieve metadata from an org.
|
|
|
16
16
|
|
|
17
17
|
# flags.metadata-type.summary
|
|
18
18
|
|
|
19
|
-
The metadata suffix to process, such as 'flow', 'labels', etc.
|
|
19
|
+
The metadata suffix to process, such as 'flow', 'labels', etc.
|
|
20
20
|
|
|
21
21
|
# flags.prepurge.summary
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Purge directories of pre-existing decomposed files.
|
|
24
24
|
|
|
25
25
|
# flags.postpurge.summary
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Purge the original files after decomposing them.
|
|
28
28
|
|
|
29
29
|
# flags.debug.summary
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
Debug to a log file.
|
|
32
32
|
|
|
33
33
|
# flags.format.summary
|
|
34
34
|
|
|
@@ -16,15 +16,15 @@ You should run this before you deploy decomposed metadata to an org.
|
|
|
16
16
|
|
|
17
17
|
# flags.metadata-type.summary
|
|
18
18
|
|
|
19
|
-
The metadata suffix to process, such as 'flow', 'labels', etc.
|
|
19
|
+
The metadata suffix to process, such as 'flow', 'labels', etc.
|
|
20
20
|
|
|
21
21
|
# flags.postpurge.summary
|
|
22
22
|
|
|
23
|
-
|
|
23
|
+
Purge the decomposed files after recomposing them.
|
|
24
24
|
|
|
25
25
|
# flags.debug.summary
|
|
26
26
|
|
|
27
|
-
|
|
27
|
+
Debug to a log file.
|
|
28
28
|
|
|
29
29
|
# flags.format.summary
|
|
30
30
|
|
package/oclif.lock
CHANGED
|
@@ -1596,10 +1596,10 @@
|
|
|
1596
1596
|
string-width "^7.2.0"
|
|
1597
1597
|
terminal-link "^3.0.0"
|
|
1598
1598
|
|
|
1599
|
-
"@salesforce/source-deploy-retrieve@^12.
|
|
1600
|
-
version "12.
|
|
1601
|
-
resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.
|
|
1602
|
-
integrity sha512-
|
|
1599
|
+
"@salesforce/source-deploy-retrieve@^12.15.1":
|
|
1600
|
+
version "12.15.1"
|
|
1601
|
+
resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.15.1.tgz#72e86cf950a7abf0b5f2d1b1b4db88260d41b426"
|
|
1602
|
+
integrity sha512-wJRdTYMv8W/W4Y5ml7V2uW9/drS34My0y4CB9I+eaR1pls9a6QorAa5NgFYoi5Re+UuiojOcIUNGuKKvsA4Wbg==
|
|
1603
1603
|
dependencies:
|
|
1604
1604
|
"@salesforce/core" "^8.8.2"
|
|
1605
1605
|
"@salesforce/kit" "^3.2.3"
|
|
@@ -4112,6 +4112,13 @@ fast-xml-parser@^4.5.1:
|
|
|
4112
4112
|
dependencies:
|
|
4113
4113
|
strnum "^1.0.5"
|
|
4114
4114
|
|
|
4115
|
+
fast-xml-parser@^5.0.6:
|
|
4116
|
+
version "5.0.6"
|
|
4117
|
+
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.0.6.tgz#3531c630ea334bd67b91f236117fbf439a19b21f"
|
|
4118
|
+
integrity sha512-5zIl0jWsewL5LdneswG6aJXx1YH1FXQ02UVIe/CZI3wXhI3SqP62bjcIYRNOgU43/MnN1t/MCpH6UoOtBrDNug==
|
|
4119
|
+
dependencies:
|
|
4120
|
+
strnum "^2.0.4"
|
|
4121
|
+
|
|
4115
4122
|
fastest-levenshtein@^1.0.7:
|
|
4116
4123
|
version "1.0.16"
|
|
4117
4124
|
resolved "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz"
|
|
@@ -7223,6 +7230,11 @@ strnum@^1.0.5:
|
|
|
7223
7230
|
resolved "https://registry.npmjs.org/strnum/-/strnum-1.0.5.tgz"
|
|
7224
7231
|
integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA==
|
|
7225
7232
|
|
|
7233
|
+
strnum@^2.0.4:
|
|
7234
|
+
version "2.0.4"
|
|
7235
|
+
resolved "https://registry.yarnpkg.com/strnum/-/strnum-2.0.4.tgz#7b2ace8a55d8c92a41c2d339ddb1bc306f337820"
|
|
7236
|
+
integrity sha512-qrXhLMohxtEPKMlajtNaOp5zvAQUo6L3fNcdiJKzWH98kGfklqGwmxhFjM7DzxsuoVM7rJeiYr+lEcu4Jlu9UQ==
|
|
7237
|
+
|
|
7226
7238
|
supports-color@^5.3.0:
|
|
7227
7239
|
version "5.5.0"
|
|
7228
7240
|
resolved "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
|
|
@@ -7791,12 +7803,12 @@ write-file-atomic@^3.0.0:
|
|
|
7791
7803
|
signal-exit "^3.0.2"
|
|
7792
7804
|
typedarray-to-buffer "^3.1.5"
|
|
7793
7805
|
|
|
7794
|
-
xml-disassembler@^1.3.
|
|
7795
|
-
version "1.3.
|
|
7796
|
-
resolved "https://registry.yarnpkg.com/xml-disassembler/-/xml-disassembler-1.3.
|
|
7797
|
-
integrity sha512-
|
|
7806
|
+
xml-disassembler@^1.3.12:
|
|
7807
|
+
version "1.3.12"
|
|
7808
|
+
resolved "https://registry.yarnpkg.com/xml-disassembler/-/xml-disassembler-1.3.12.tgz#f3fa2ea6573e815c20e6ca2e7a758dfe68a7b807"
|
|
7809
|
+
integrity sha512-P/aApcGRfq568GHwNBQDqdsKq686rwX03ZusyDugbokxd7CDPB5AXBP79bdrJWdKV4k6l/dHBfRwMzJ/kgcNbg==
|
|
7798
7810
|
dependencies:
|
|
7799
|
-
fast-xml-parser "^
|
|
7811
|
+
fast-xml-parser "^5.0.6"
|
|
7800
7812
|
ignore "^5.3.1"
|
|
7801
7813
|
log4js "^6.9.1"
|
|
7802
7814
|
tslib "^2.6.2"
|
|
@@ -7809,21 +7821,21 @@ xml2js@^0.6.2:
|
|
|
7809
7821
|
sax ">=0.6.0"
|
|
7810
7822
|
xmlbuilder "~11.0.0"
|
|
7811
7823
|
|
|
7812
|
-
xml2json-disassembler@^1.1.
|
|
7813
|
-
version "1.1.
|
|
7814
|
-
resolved "https://registry.yarnpkg.com/xml2json-disassembler/-/xml2json-disassembler-1.1.
|
|
7815
|
-
integrity sha512-
|
|
7824
|
+
xml2json-disassembler@^1.1.12:
|
|
7825
|
+
version "1.1.12"
|
|
7826
|
+
resolved "https://registry.yarnpkg.com/xml2json-disassembler/-/xml2json-disassembler-1.1.12.tgz#b7feba01bd575f9d68e1fc0341ab0b3f5d09b4fc"
|
|
7827
|
+
integrity sha512-YQJd7XPdq8pxLZK++Ld6GGOowQalZsarg3UXh2GA4RwM6yPL4vpKPW6kFE3aa9llsHDgpBVZH3TYoirtfAWvUA==
|
|
7816
7828
|
dependencies:
|
|
7817
7829
|
tslib "^2.6.2"
|
|
7818
|
-
xml-disassembler "^1.3.
|
|
7830
|
+
xml-disassembler "^1.3.12"
|
|
7819
7831
|
|
|
7820
|
-
xml2yaml-disassembler@^1.1.
|
|
7821
|
-
version "1.1.
|
|
7822
|
-
resolved "https://registry.yarnpkg.com/xml2yaml-disassembler/-/xml2yaml-disassembler-1.1.
|
|
7823
|
-
integrity sha512-
|
|
7832
|
+
xml2yaml-disassembler@^1.1.12:
|
|
7833
|
+
version "1.1.12"
|
|
7834
|
+
resolved "https://registry.yarnpkg.com/xml2yaml-disassembler/-/xml2yaml-disassembler-1.1.12.tgz#3f933b33a4f6a30b19e43277890be7914fa6b096"
|
|
7835
|
+
integrity sha512-BpTbiJsECMWxDme/ZwkVsDkDQuGXb14YswViajIWkNOMnzH6/8ITUqLMUsL0GGajufhM9a3+xNiZF0k/9Kzk5A==
|
|
7824
7836
|
dependencies:
|
|
7825
7837
|
tslib "^2.6.2"
|
|
7826
|
-
xml-disassembler "^1.3.
|
|
7838
|
+
xml-disassembler "^1.3.12"
|
|
7827
7839
|
yaml "^2.7.0"
|
|
7828
7840
|
|
|
7829
7841
|
xmlbuilder@~11.0.0:
|
package/oclif.manifest.json
CHANGED
|
@@ -29,7 +29,7 @@
|
|
|
29
29
|
"char": "m",
|
|
30
30
|
"name": "metadata-type",
|
|
31
31
|
"required": true,
|
|
32
|
-
"summary": "The metadata suffix to process, such as 'flow', 'labels', etc.
|
|
32
|
+
"summary": "The metadata suffix to process, such as 'flow', 'labels', etc.",
|
|
33
33
|
"hasDynamicHelp": false,
|
|
34
34
|
"multiple": true,
|
|
35
35
|
"type": "option"
|
|
@@ -37,21 +37,21 @@
|
|
|
37
37
|
"prepurge": {
|
|
38
38
|
"name": "prepurge",
|
|
39
39
|
"required": false,
|
|
40
|
-
"summary": "
|
|
40
|
+
"summary": "Purge directories of pre-existing decomposed files.",
|
|
41
41
|
"allowNo": false,
|
|
42
42
|
"type": "boolean"
|
|
43
43
|
},
|
|
44
44
|
"postpurge": {
|
|
45
45
|
"name": "postpurge",
|
|
46
46
|
"required": false,
|
|
47
|
-
"summary": "
|
|
47
|
+
"summary": "Purge the original files after decomposing them.",
|
|
48
48
|
"allowNo": false,
|
|
49
49
|
"type": "boolean"
|
|
50
50
|
},
|
|
51
51
|
"debug": {
|
|
52
52
|
"name": "debug",
|
|
53
53
|
"required": false,
|
|
54
|
-
"summary": "
|
|
54
|
+
"summary": "Debug to a log file.",
|
|
55
55
|
"allowNo": false,
|
|
56
56
|
"type": "boolean"
|
|
57
57
|
},
|
|
@@ -131,7 +131,7 @@
|
|
|
131
131
|
"char": "m",
|
|
132
132
|
"name": "metadata-type",
|
|
133
133
|
"required": true,
|
|
134
|
-
"summary": "The metadata suffix to process, such as 'flow', 'labels', etc.
|
|
134
|
+
"summary": "The metadata suffix to process, such as 'flow', 'labels', etc.",
|
|
135
135
|
"hasDynamicHelp": false,
|
|
136
136
|
"multiple": true,
|
|
137
137
|
"type": "option"
|
|
@@ -139,14 +139,14 @@
|
|
|
139
139
|
"postpurge": {
|
|
140
140
|
"name": "postpurge",
|
|
141
141
|
"required": false,
|
|
142
|
-
"summary": "
|
|
142
|
+
"summary": "Purge the decomposed files after recomposing them.",
|
|
143
143
|
"allowNo": false,
|
|
144
144
|
"type": "boolean"
|
|
145
145
|
},
|
|
146
146
|
"debug": {
|
|
147
147
|
"name": "debug",
|
|
148
148
|
"required": false,
|
|
149
|
-
"summary": "
|
|
149
|
+
"summary": "Debug to a log file.",
|
|
150
150
|
"allowNo": false,
|
|
151
151
|
"type": "boolean"
|
|
152
152
|
},
|
|
@@ -198,5 +198,5 @@
|
|
|
198
198
|
]
|
|
199
199
|
}
|
|
200
200
|
},
|
|
201
|
-
"version": "5.3.
|
|
201
|
+
"version": "5.3.11"
|
|
202
202
|
}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sf-decomposer",
|
|
3
|
-
"description": "
|
|
4
|
-
"version": "5.3.
|
|
3
|
+
"description": "Break down large Salesforce metadata files into smaller, more manageable files for version control and then recreate deployment-compatible files.",
|
|
4
|
+
"version": "5.3.11",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@oclif/core": "^4",
|
|
7
7
|
"@salesforce/core": "^8.2.1",
|
|
8
8
|
"@salesforce/sf-plugins-core": "^11.2.1",
|
|
9
|
-
"@salesforce/source-deploy-retrieve": "^12.
|
|
9
|
+
"@salesforce/source-deploy-retrieve": "^12.15.1",
|
|
10
10
|
"fs-extra": "^11.2.0",
|
|
11
|
-
"xml-disassembler": "^1.3.
|
|
12
|
-
"xml2json-disassembler": "^1.1.
|
|
13
|
-
"xml2yaml-disassembler": "^1.1.
|
|
11
|
+
"xml-disassembler": "^1.3.12",
|
|
12
|
+
"xml2json-disassembler": "^1.1.12",
|
|
13
|
+
"xml2yaml-disassembler": "^1.1.12"
|
|
14
14
|
},
|
|
15
15
|
"devDependencies": {
|
|
16
16
|
"@commitlint/cli": "^18.6.1",
|