sf-decomposer 5.4.0 → 5.4.2
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 +56 -53
- package/oclif.lock +42 -37
- package/oclif.manifest.json +1 -1
- package/package.json +7 -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.4.2](https://github.com/mcarvin8/sf-decomposer/compare/v5.4.1...v5.4.2) (2025-03-21)
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Bug Fixes
|
|
12
|
+
|
|
13
|
+
* **deps:** bump @salesforce/source-deploy-retrieve ([f074b4f](https://github.com/mcarvin8/sf-decomposer/commit/f074b4f90ab149e064eb88892e0846e90a501984))
|
|
14
|
+
* **deps:** bump the xml-disassemblers group with 4 updates ([abe8ec7](https://github.com/mcarvin8/sf-decomposer/commit/abe8ec7d53b88ecdd8131eb32c80fadfe51c73f4))
|
|
15
|
+
|
|
16
|
+
## [5.4.1](https://github.com/mcarvin8/sf-decomposer/compare/v5.4.0...v5.4.1) (2025-03-14)
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
### Bug Fixes
|
|
20
|
+
|
|
21
|
+
* **deps:** bump @salesforce/source-deploy-retrieve ([e636bb9](https://github.com/mcarvin8/sf-decomposer/commit/e636bb975a661e7018c99bbf17f359ac7c86747b))
|
|
22
|
+
|
|
8
23
|
## [5.4.0](https://github.com/mcarvin8/sf-decomposer/compare/v5.3.13...v5.4.0) (2025-03-07)
|
|
9
24
|
|
|
10
25
|
|
package/README.md
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# sf-decomposer
|
|
1
|
+
# `sf-decomposer`
|
|
2
2
|
|
|
3
3
|
[](https://www.npmjs.com/package/sf-decomposer) [](https://npmjs.org/package/sf-decomposer) [](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/LICENSE.md)
|
|
4
4
|
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<summary>Table of Contents</summary>
|
|
8
8
|
|
|
9
9
|
- [Quick Start](#quick-start)
|
|
10
|
-
- [Why
|
|
10
|
+
- [Why Choose `sf-decomposer`](#why-choose-sf-decomposer)
|
|
11
11
|
- [Commands](#commands)
|
|
12
12
|
- [`sf decomposer decompose`](#sf-decomposer-decompose)
|
|
13
13
|
- [`sf decomposer recompose`](#sf-decomposer-recompose)
|
|
@@ -21,11 +21,12 @@
|
|
|
21
21
|
- [`.sfdecomposerignore`](#.sfdecomposerignore)
|
|
22
22
|
- [`.gitignore`](#.gitignore)
|
|
23
23
|
- [Issues](#issues)
|
|
24
|
+
- [Built With](#built-with)
|
|
24
25
|
- [Contributing](#contributing)
|
|
25
26
|
- [License](#license)
|
|
26
27
|
</details>
|
|
27
28
|
|
|
28
|
-
Break down large Salesforce metadata files into smaller, more manageable files for version control and then recreate deployment-compatible files.
|
|
29
|
+
Break down large Salesforce metadata files (XML) into smaller, more manageable files (XML/JSON/YAML/JSON5) for version control and then recreate deployment-compatible files.
|
|
29
30
|
|
|
30
31
|
## Quick Start
|
|
31
32
|
|
|
@@ -41,13 +42,13 @@ sf plugins install sf-decomposer@x.y.z
|
|
|
41
42
|
sf decomposer decompose -m "flow" -m "labels"
|
|
42
43
|
```
|
|
43
44
|
|
|
44
|
-
3. Add decomposed files to `.forceignore`
|
|
45
|
+
3. Add decomposed files to [`.forceignore`](#.forceignore)
|
|
45
46
|
|
|
46
|
-
> This is **REQUIRED** to avoid errors when running `sf`commands
|
|
47
|
+
> This is **REQUIRED** to avoid errors when running `sf`commands
|
|
47
48
|
|
|
48
|
-
4. Stage files in version control
|
|
49
|
+
4. Stage decomposed files in version control
|
|
49
50
|
|
|
50
|
-
5. [Recompose](#sf-decomposer-recompose) the metadata type(s)
|
|
51
|
+
5. [Recompose](#sf-decomposer-recompose) the metadata type(s) before deployment
|
|
51
52
|
|
|
52
53
|
```bash
|
|
53
54
|
sf decomposer recompose -m "flow" -m "labels"
|
|
@@ -55,21 +56,25 @@ sf decomposer recompose -m "flow" -m "labels"
|
|
|
55
56
|
|
|
56
57
|
6. Deploy recomposed metadata
|
|
57
58
|
|
|
58
|
-
## Why
|
|
59
|
+
## Why Choose `sf-decomposer`
|
|
59
60
|
|
|
60
|
-
|
|
61
|
+
Salesforce's built-in decomposition has limitations. `sf-decomposer` offers more control, flexibility, and versioning benefits for Admins and Developers.
|
|
61
62
|
|
|
62
|
-
|
|
63
|
-
- **Selective Decomposition**: `sf-decomposer` allows you to decompose only the metadata you need instead of Salesforce's all-or-nothing approach.
|
|
64
|
-
- See [.sfdecomposerignore](#.sfdecomposerignore)
|
|
65
|
-
- **Complete Decomposition**: Partially decomposed metadata types (e.g., Salesforce's `decomposePermissionSetBeta2`) can be fully decomposed by `sf-decomposer`.
|
|
66
|
-
- **Consistent Sorting**: `sf-decomposer` recomposition ensures elements are always sorted consistently for better version control.
|
|
67
|
-
- **Multiple Decompose Formats**: `sf-decomposer` allows you to decompose the original XML file into smaller XML, JSON, JSON5, or YAML files depending on your preference.
|
|
63
|
+
### Key Advantages
|
|
68
64
|
|
|
69
|
-
|
|
65
|
+
- **Supports More Metadata** – Works with most Metadata API types, unlike Salesforce’s limited decomposition.
|
|
66
|
+
- **Selective Decomposition** – Decompose only what you need, avoiding Salesforce’s all-or-nothing approach.
|
|
67
|
+
- See [.sfdecomposerignore](#.sfdecomposerignore)
|
|
68
|
+
- **Fully Decomposes Metadata** – Ensures complete decomposition for types that Salesforce only partially decomposes (e.g., `decomposePermissionSetBeta2`).
|
|
69
|
+
- **Consistent Sorting** – Keeps elements in a predictable order to reduce unnecessary version control noise.
|
|
70
|
+
- **Multiple Output Formats** – Supports XML, JSON, JSON5, and YAML for greater flexibility.
|
|
71
|
+
- **CI/CD Integration** – Hooks enable seamless decomposition and recomposition in automated workflows.
|
|
72
|
+
- **Improved Version Control** – Smaller, structured files make pull requests easier to review and reduce merge conflicts.
|
|
70
73
|
|
|
71
|
-
|
|
72
|
-
|
|
74
|
+
### How It Helps Salesforce Teams
|
|
75
|
+
|
|
76
|
+
- **Better Peer Reviews** – More readable diffs for large metadata in GitHub and other CI/CD platforms.
|
|
77
|
+
- **Safer Deployments** – Ensures only intended changes are deployed, improving release quality.
|
|
73
78
|
|
|
74
79
|
## Commands
|
|
75
80
|
|
|
@@ -106,19 +111,14 @@ FLAGS
|
|
|
106
111
|
GLOBAL FLAGS
|
|
107
112
|
--json Format output as json.
|
|
108
113
|
|
|
109
|
-
DESCRIPTION
|
|
110
|
-
Decompose large metadata files into smaller files.
|
|
111
|
-
|
|
112
|
-
You should run this after you retrieve metadata from an org.
|
|
113
|
-
|
|
114
114
|
EXAMPLES
|
|
115
|
-
Decompose all flows:
|
|
115
|
+
Decompose all flows in XML format:
|
|
116
116
|
|
|
117
117
|
$ sf decomposer decompose -m "flow" -f "xml" --prepurge --postpurge --debug
|
|
118
118
|
|
|
119
|
-
Decompose all flows and custom labels
|
|
119
|
+
Decompose all flows and custom labels in YAML format
|
|
120
120
|
|
|
121
|
-
$ sf decomposer decompose -m "flow" -m "labels" -f "
|
|
121
|
+
$ sf decomposer decompose -m "flow" -m "labels" -f "yaml" --prepurge --postpurge --debug
|
|
122
122
|
|
|
123
123
|
Decompose flows except for those in the "force-app" package directory.
|
|
124
124
|
|
|
@@ -152,19 +152,14 @@ FLAGS
|
|
|
152
152
|
GLOBAL FLAGS
|
|
153
153
|
--json Format output as json.
|
|
154
154
|
|
|
155
|
-
DESCRIPTION
|
|
156
|
-
Recompose the decomposed files into deployment-compatible metadata files.
|
|
157
|
-
|
|
158
|
-
You should run this before you deploy decomposed metadata to an org.
|
|
159
|
-
|
|
160
155
|
EXAMPLES
|
|
161
156
|
Recompose all flows:
|
|
162
157
|
|
|
163
158
|
$ sf decomposer recompose -m "flow" -f "xml" --postpurge --debug
|
|
164
159
|
|
|
165
|
-
Recompose all flows and custom labels
|
|
160
|
+
Recompose all decomposed flows and custom labels YAMLs into XMLs
|
|
166
161
|
|
|
167
|
-
$ sf decomposer recompose -m "flow" -m "labels" -f "
|
|
162
|
+
$ sf decomposer recompose -m "flow" -m "labels" -f "yaml" --postpurge --debug
|
|
168
163
|
|
|
169
164
|
Recompose flows except for those in the "force-app" package directory.
|
|
170
165
|
|
|
@@ -199,7 +194,7 @@ When custom labels are decomposed, each custom label will have its own file in t
|
|
|
199
194
|
|
|
200
195
|
All parent metadata types imported from this plugin's version of `@salesforce/source-deploy-retrieve` (SDR) toolkit are supported except for certain types.
|
|
201
196
|
|
|
202
|
-
The `--metadata-type`/`-m` flag should be the metadata's `suffix` value as listed in the [metadataRegistry.json](https://github.com/forcedotcom/source-deploy-retrieve/blob/main/src/registry/metadataRegistry.json).
|
|
197
|
+
The `--metadata-type`/`-m` flag should be the metadata's `suffix` value as listed in the [metadataRegistry.json](https://github.com/forcedotcom/source-deploy-retrieve/blob/main/src/registry/metadataRegistry.json). You can also infer the suffix by looking at the original XML file-name, i.e. `*.{suffix}-meta.xml`.
|
|
203
198
|
|
|
204
199
|
Here are some examples:
|
|
205
200
|
|
|
@@ -210,7 +205,6 @@ Here are some examples:
|
|
|
210
205
|
- AI Scoring Model Definition (`--metadata-type "aiScoringModelDefinition"`)
|
|
211
206
|
- Decision Matrix Definition (`--metadata-type "decisionMatrixDefinition"`)
|
|
212
207
|
- Bot (`--metadata-type "bot"`)
|
|
213
|
-
- **NOTE**: Running "bot" will also decompose and recompose Bot Version meta files. The `botVersion` meta suffix will be blocked from running directly.
|
|
214
208
|
- Marketing App Extension (`--metadata-type "marketingappextension"`)
|
|
215
209
|
|
|
216
210
|
### Metadata Exceptions
|
|
@@ -240,36 +234,38 @@ Here are some examples:
|
|
|
240
234
|
Error (1): sfdx-project.json not found in any parent directory.
|
|
241
235
|
```
|
|
242
236
|
|
|
243
|
-
The `xml-disassembler` package will
|
|
237
|
+
The `xml-disassembler` package will create a log file, `disassemble.log`, at all times. By default, the log will only contain XML decomposing/recomposing errors. XML decomposing/recomposing errors do not cause the Salesforce CLI to fail. The CLI will proceed to decompose/recompose all remaining metadata.
|
|
238
|
+
|
|
239
|
+
The Salesforce CLI will print XML errors as warnings in the terminal:
|
|
244
240
|
|
|
245
241
|
```
|
|
246
242
|
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.
|
|
247
243
|
```
|
|
248
244
|
|
|
249
|
-
To add
|
|
245
|
+
To add debugging to the log, provide the `--debug` flag to the decompose or recompose command.
|
|
250
246
|
|
|
251
247
|
```
|
|
252
248
|
[2024-03-30T14:28:37.959] [DEBUG] default - Created disassembled file: mock\no-nested-elements\HR_Admin\HR_Admin.permissionset-meta.xml
|
|
253
249
|
```
|
|
254
250
|
|
|
255
|
-
Recommend adding the `disassemble.log` to your `.gitignore` file if you are using this in a git-based repo.
|
|
256
|
-
|
|
257
251
|
## Hooks
|
|
258
252
|
|
|
259
|
-
> **NOTE:** In order to avoid errors when running `sf` commands, you must configure your `.forceignore` file to have the Salesforce CLI ignore the decomposed files. See [Ignore Files](#ignore-files)
|
|
253
|
+
> **NOTE:** In order to avoid errors when running `sf` commands, you must configure your `.forceignore` file to have the Salesforce CLI ignore the decomposed files. See [Ignore Files](#ignore-files).
|
|
254
|
+
|
|
255
|
+
`sf-decomposer` supports automatic decomposition and recomposition by defining a `.sfdecomposer.config.json` file in your project root.
|
|
260
256
|
|
|
261
|
-
|
|
257
|
+
You can copy and update the sample [.sfdecomposer.config.json](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/samples/.sfdecomposer.config.json).
|
|
262
258
|
|
|
263
|
-
- `metadataSuffixes` is required and should be a comma-separated string of metadata suffixes to decompose
|
|
259
|
+
- `metadataSuffixes` is required and should be a comma-separated string of metadata suffixes to decompose and recompose based on the CLI command.
|
|
264
260
|
- `ignorePackageDirectories` is optional and should be a comma-separated string of package directories to ignore.
|
|
265
|
-
- `prePurge` is optional and should be
|
|
266
|
-
- `postPurge` is optional and should be
|
|
267
|
-
- `decomposedFormat` is optional and should be either `xml`, `json`, `json5`, or `yaml`, depending on
|
|
261
|
+
- `prePurge` is optional and should be `true` or `false`. If true, this will delete any existing decomposed files before decomposing the files. This defauls to `false`.
|
|
262
|
+
- `postPurge` is optional and should be `true` or `false`. If true, this will delete the retrieval file after decomposing it or delete the decomposed files after recomposing them. This defauls to `false`.
|
|
263
|
+
- `decomposedFormat` is optional and should be either `xml`, `json`, `json5`, or `yaml`, depending on the decomposed file format. This defaults to `xml`.
|
|
268
264
|
|
|
269
|
-
If `.sfdecomposer.config.json` is found, the hooks will
|
|
265
|
+
If `.sfdecomposer.config.json` is found, the hooks will run:
|
|
270
266
|
|
|
271
|
-
- the decompose command after a `sf project retrieve start` command completes successfully (post-run)
|
|
272
|
-
- the recompose command before a `sf project deploy [start/validate]` command starts (pre-run)
|
|
267
|
+
- the decompose command **after** a `sf project retrieve start` command completes successfully (post-run)
|
|
268
|
+
- the recompose command **before** a `sf project deploy [start/validate]` command starts (pre-run)
|
|
273
269
|
|
|
274
270
|
If `.sfdecomposer.config.json` isn't found, the hooks will be skipped.
|
|
275
271
|
|
|
@@ -279,30 +275,37 @@ If `.sfdecomposer.config.json` isn't found, the hooks will be skipped.
|
|
|
279
275
|
|
|
280
276
|
The Salesforce CLI **must** ignore the decomposed files and allow the recomposed files.
|
|
281
277
|
|
|
282
|
-
You can use the sample [.forceignore](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/samples/.forceignore)
|
|
278
|
+
You can use the sample [.forceignore](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/samples/.forceignore). Update the decomposed file extensions based on what format you're using (`.xml`, `.json`, `.json5`, or `.yaml`).
|
|
283
279
|
|
|
284
280
|
### `.sfdecomposerignore`
|
|
285
281
|
|
|
286
|
-
|
|
282
|
+
Optionally, you can create a `.sfdecomposerignore` file in the root of your Salesforce DX project to ignore specific XMLs when decomposing. The `.sfdecomposerignore` file should follow [.gitignore spec 2.22.1](https://git-scm.com/docs/gitignore).
|
|
287
283
|
|
|
288
|
-
When
|
|
284
|
+
When you run `sf decomposer decompose --debug` and it processes a file that matches an entry in `.sfdecomposerignore`, a warning will be printed to the `disassemble.log`:
|
|
289
285
|
|
|
290
286
|
```
|
|
291
287
|
[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
|
|
292
288
|
```
|
|
293
289
|
|
|
294
|
-
`.sfdecomposerignore` is not read
|
|
290
|
+
`.sfdecomposerignore` is not read when recomposing metadata.
|
|
295
291
|
|
|
296
292
|
### `.gitignore`
|
|
297
293
|
|
|
298
294
|
Optionally, git 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.
|
|
299
295
|
|
|
300
|
-
You can use the sample [.gitignore](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/samples/.gitignore)
|
|
296
|
+
You can use the sample [.gitignore](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/samples/.gitignore).
|
|
301
297
|
|
|
302
298
|
## Issues
|
|
303
299
|
|
|
304
300
|
If you encounter any bugs or would like to request features, please create an [issue](https://github.com/mcarvin8/sf-decomposer/issues).
|
|
305
301
|
|
|
302
|
+
## Built With
|
|
303
|
+
|
|
304
|
+
- [`xml-disassembler`](https://github.com/mcarvin8/xml-disassembler)
|
|
305
|
+
- [`xml2json-disassembler`](https://github.com/mcarvin8/xml2json-disassembler)
|
|
306
|
+
- [`xml2yaml-disassembler`](https://github.com/mcarvin8/xml2yaml-disassembler)
|
|
307
|
+
- [`xml2json5-disassembler`](https://github.com/mcarvin8/xml2json5-disassembler)
|
|
308
|
+
|
|
306
309
|
## Contributing
|
|
307
310
|
|
|
308
311
|
Contributions are welcome! See [Contributing](https://github.com/mcarvin8/sf-decomposer/blob/main/CONTRIBUTING.md).
|
package/oclif.lock
CHANGED
|
@@ -1500,10 +1500,10 @@
|
|
|
1500
1500
|
strip-ansi "6.0.1"
|
|
1501
1501
|
ts-retry-promise "^0.8.1"
|
|
1502
1502
|
|
|
1503
|
-
"@salesforce/core@^8.1.1", "@salesforce/core@^8.2.1", "@salesforce/core@^8.2.3", "@salesforce/core@^8.8.
|
|
1504
|
-
version "8.8.
|
|
1505
|
-
resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.8.
|
|
1506
|
-
integrity sha512-
|
|
1503
|
+
"@salesforce/core@^8.1.1", "@salesforce/core@^8.2.1", "@salesforce/core@^8.2.3", "@salesforce/core@^8.8.5":
|
|
1504
|
+
version "8.8.5"
|
|
1505
|
+
resolved "https://registry.yarnpkg.com/@salesforce/core/-/core-8.8.5.tgz#4004e22523e4e45b42631733d06dc8aec9fdc23d"
|
|
1506
|
+
integrity sha512-eCiiO4NptvKkz04A4ivBVLzEBy/6IIFmaXoZ4tnF1FcD5MESvC+Xuc+0RFSRiYmPi5oloKNl6njrfVCKAho2zQ==
|
|
1507
1507
|
dependencies:
|
|
1508
1508
|
"@jsforce/jsforce-node" "^3.6.5"
|
|
1509
1509
|
"@salesforce/kit" "^3.2.2"
|
|
@@ -1596,12 +1596,12 @@
|
|
|
1596
1596
|
string-width "^7.2.0"
|
|
1597
1597
|
terminal-link "^3.0.0"
|
|
1598
1598
|
|
|
1599
|
-
"@salesforce/source-deploy-retrieve@^12.16.
|
|
1600
|
-
version "12.16.
|
|
1601
|
-
resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.16.
|
|
1602
|
-
integrity sha512-
|
|
1599
|
+
"@salesforce/source-deploy-retrieve@^12.16.10":
|
|
1600
|
+
version "12.16.10"
|
|
1601
|
+
resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.16.10.tgz#b38ee71f9e5691212beae6575078ec8459b59a00"
|
|
1602
|
+
integrity sha512-O1K5I5ZmMTfCZ4SV+/w5iWMjGsHSU+PtHCx7gJVcgH8emY25OUhxrQPqb7BS2jupKQZy6U6hhVhkcD9yYqClag==
|
|
1603
1603
|
dependencies:
|
|
1604
|
-
"@salesforce/core" "^8.8.
|
|
1604
|
+
"@salesforce/core" "^8.8.5"
|
|
1605
1605
|
"@salesforce/kit" "^3.2.3"
|
|
1606
1606
|
"@salesforce/ts-types" "^2.0.12"
|
|
1607
1607
|
"@salesforce/types" "^1.3.0"
|
|
@@ -1615,7 +1615,7 @@
|
|
|
1615
1615
|
mime "2.6.0"
|
|
1616
1616
|
minimatch "^9.0.5"
|
|
1617
1617
|
proxy-agent "^6.4.0"
|
|
1618
|
-
yaml "^2.
|
|
1618
|
+
yaml "^2.7.0"
|
|
1619
1619
|
|
|
1620
1620
|
"@salesforce/ts-types@^2.0.10", "@salesforce/ts-types@^2.0.12":
|
|
1621
1621
|
version "2.0.12"
|
|
@@ -4118,10 +4118,10 @@ fast-xml-parser@^4.5.3:
|
|
|
4118
4118
|
dependencies:
|
|
4119
4119
|
strnum "^1.1.1"
|
|
4120
4120
|
|
|
4121
|
-
fast-xml-parser@^5.0.
|
|
4122
|
-
version "5.0.
|
|
4123
|
-
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.0.
|
|
4124
|
-
integrity sha512-
|
|
4121
|
+
fast-xml-parser@^5.0.9:
|
|
4122
|
+
version "5.0.9"
|
|
4123
|
+
resolved "https://registry.yarnpkg.com/fast-xml-parser/-/fast-xml-parser-5.0.9.tgz#5b64c810e70941a9c07b07ead8299841fbb8dd76"
|
|
4124
|
+
integrity sha512-2mBwCiuW3ycKQQ6SOesSB8WeF+fIGb6I/GG5vU5/XEptwFFhp9PE8b9O7fbs2dpq9fXn4ULR3UsfydNUCntf5A==
|
|
4125
4125
|
dependencies:
|
|
4126
4126
|
strnum "^2.0.5"
|
|
4127
4127
|
|
|
@@ -4785,11 +4785,16 @@ ieee754@^1.2.1:
|
|
|
4785
4785
|
resolved "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz"
|
|
4786
4786
|
integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
|
|
4787
4787
|
|
|
4788
|
-
ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.0, ignore@^5.3.
|
|
4788
|
+
ignore@^5.2.0, ignore@^5.2.4, ignore@^5.3.0, ignore@^5.3.2:
|
|
4789
4789
|
version "5.3.2"
|
|
4790
4790
|
resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5"
|
|
4791
4791
|
integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==
|
|
4792
4792
|
|
|
4793
|
+
ignore@^7.0.3:
|
|
4794
|
+
version "7.0.3"
|
|
4795
|
+
resolved "https://registry.yarnpkg.com/ignore/-/ignore-7.0.3.tgz#397ef9315dfe0595671eefe8b633fec6943ab733"
|
|
4796
|
+
integrity sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==
|
|
4797
|
+
|
|
4793
4798
|
immediate@~3.0.5:
|
|
4794
4799
|
version "3.0.6"
|
|
4795
4800
|
resolved "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz"
|
|
@@ -7814,13 +7819,13 @@ write-file-atomic@^3.0.0:
|
|
|
7814
7819
|
signal-exit "^3.0.2"
|
|
7815
7820
|
typedarray-to-buffer "^3.1.5"
|
|
7816
7821
|
|
|
7817
|
-
xml-disassembler@^1.3.
|
|
7818
|
-
version "1.3.
|
|
7819
|
-
resolved "https://registry.yarnpkg.com/xml-disassembler/-/xml-disassembler-1.3.
|
|
7820
|
-
integrity sha512-
|
|
7822
|
+
xml-disassembler@^1.3.15:
|
|
7823
|
+
version "1.3.15"
|
|
7824
|
+
resolved "https://registry.yarnpkg.com/xml-disassembler/-/xml-disassembler-1.3.15.tgz#ddd25995caa311aa7168875d82abb5bad9c89ec1"
|
|
7825
|
+
integrity sha512-YcBJK0HwS70v74q3aU6jMOfEeD8+irzMAI9ImPBxhezZNq6zjxTJg9TNlECDvjpzKMHGuscWoYLhrF9eyMM7eg==
|
|
7821
7826
|
dependencies:
|
|
7822
|
-
fast-xml-parser "^5.0.
|
|
7823
|
-
ignore "^
|
|
7827
|
+
fast-xml-parser "^5.0.9"
|
|
7828
|
+
ignore "^7.0.3"
|
|
7824
7829
|
log4js "^6.9.1"
|
|
7825
7830
|
tslib "^2.6.2"
|
|
7826
7831
|
|
|
@@ -7832,30 +7837,30 @@ xml2js@^0.6.2:
|
|
|
7832
7837
|
sax ">=0.6.0"
|
|
7833
7838
|
xmlbuilder "~11.0.0"
|
|
7834
7839
|
|
|
7835
|
-
xml2json-disassembler@^1.1.
|
|
7836
|
-
version "1.1.
|
|
7837
|
-
resolved "https://registry.yarnpkg.com/xml2json-disassembler/-/xml2json-disassembler-1.1.
|
|
7838
|
-
integrity sha512-
|
|
7840
|
+
xml2json-disassembler@^1.1.14:
|
|
7841
|
+
version "1.1.14"
|
|
7842
|
+
resolved "https://registry.yarnpkg.com/xml2json-disassembler/-/xml2json-disassembler-1.1.14.tgz#d6cbdd6ce8f6f2599294d8aecc70180d28761b4c"
|
|
7843
|
+
integrity sha512-X+UyuqrJHOQFROlLTLe5RtN6Z0Xy/6GhKSclDrQgzpkT2dKSTnILb1KQhcfkEtMLj1IppKtoH7f3ol9wweonDQ==
|
|
7839
7844
|
dependencies:
|
|
7840
7845
|
tslib "^2.6.2"
|
|
7841
|
-
xml-disassembler "^1.3.
|
|
7846
|
+
xml-disassembler "^1.3.15"
|
|
7842
7847
|
|
|
7843
|
-
xml2json5-disassembler@^1.0.
|
|
7844
|
-
version "1.0.
|
|
7845
|
-
resolved "https://registry.yarnpkg.com/xml2json5-disassembler/-/xml2json5-disassembler-1.0.
|
|
7846
|
-
integrity sha512-
|
|
7848
|
+
xml2json5-disassembler@^1.0.1:
|
|
7849
|
+
version "1.0.1"
|
|
7850
|
+
resolved "https://registry.yarnpkg.com/xml2json5-disassembler/-/xml2json5-disassembler-1.0.1.tgz#85ca4c7c13e1a0981ce66a0c9193f64380d738ba"
|
|
7851
|
+
integrity sha512-lZmw7SE4rNMFDlpfZXIKFKQqIWMJEu5JH3GubRVVCC1HMHmEZdD0RPfw49JN/PuwVTcTHwWh/EXvIdrrVNLtAQ==
|
|
7847
7852
|
dependencies:
|
|
7848
7853
|
json5 "^2.2.3"
|
|
7849
7854
|
tslib "^2.6.2"
|
|
7850
|
-
xml-disassembler "^1.3.
|
|
7855
|
+
xml-disassembler "^1.3.15"
|
|
7851
7856
|
|
|
7852
|
-
xml2yaml-disassembler@^1.1.
|
|
7853
|
-
version "1.1.
|
|
7854
|
-
resolved "https://registry.yarnpkg.com/xml2yaml-disassembler/-/xml2yaml-disassembler-1.1.
|
|
7855
|
-
integrity sha512-
|
|
7857
|
+
xml2yaml-disassembler@^1.1.14:
|
|
7858
|
+
version "1.1.14"
|
|
7859
|
+
resolved "https://registry.yarnpkg.com/xml2yaml-disassembler/-/xml2yaml-disassembler-1.1.14.tgz#fe1d732519f4dc14dd8570b741bee338e1e8fabc"
|
|
7860
|
+
integrity sha512-4bfalNt7wXctsrBoh/VJhtCrAIRYCDXiTJeMmzNvEvn2Uffi3R32AjTwWPVXdHqlMV8csNr7bO/riFqy/o67pg==
|
|
7856
7861
|
dependencies:
|
|
7857
7862
|
tslib "^2.6.2"
|
|
7858
|
-
xml-disassembler "^1.3.
|
|
7863
|
+
xml-disassembler "^1.3.15"
|
|
7859
7864
|
yaml "^2.7.0"
|
|
7860
7865
|
|
|
7861
7866
|
xmlbuilder@~11.0.0:
|
|
@@ -7883,7 +7888,7 @@ yallist@^4.0.0:
|
|
|
7883
7888
|
resolved "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
|
|
7884
7889
|
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
|
|
7885
7890
|
|
|
7886
|
-
yaml@^2.4.5, yaml@^2.
|
|
7891
|
+
yaml@^2.4.5, yaml@^2.7.0:
|
|
7887
7892
|
version "2.7.0"
|
|
7888
7893
|
resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.7.0.tgz#aef9bb617a64c937a9a748803786ad8d3ffe1e98"
|
|
7889
7894
|
integrity sha512-+hSoy/QHluxmC9kCIJyL/uyFmLmc+e5CFR5Wa+bpIhIj85LVb9ZH2nVnqrHoSvKogwODv0ClqZkmiSSaIH5LTA==
|
package/oclif.manifest.json
CHANGED
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "sf-decomposer",
|
|
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.4.
|
|
4
|
+
"version": "5.4.2",
|
|
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.16.
|
|
9
|
+
"@salesforce/source-deploy-retrieve": "^12.16.10",
|
|
10
10
|
"fs-extra": "^11.2.0",
|
|
11
|
-
"xml-disassembler": "^1.3.
|
|
12
|
-
"xml2json-disassembler": "^1.1.
|
|
13
|
-
"xml2json5-disassembler": "^1.0.
|
|
14
|
-
"xml2yaml-disassembler": "^1.1.
|
|
11
|
+
"xml-disassembler": "^1.3.15",
|
|
12
|
+
"xml2json-disassembler": "^1.1.14",
|
|
13
|
+
"xml2json5-disassembler": "^1.0.1",
|
|
14
|
+
"xml2yaml-disassembler": "^1.1.14"
|
|
15
15
|
},
|
|
16
16
|
"devDependencies": {
|
|
17
17
|
"@commitlint/cli": "^18.6.1",
|
|
@@ -51,6 +51,7 @@
|
|
|
51
51
|
"xml",
|
|
52
52
|
"yaml",
|
|
53
53
|
"json",
|
|
54
|
+
"json5",
|
|
54
55
|
"decompose",
|
|
55
56
|
"reassemble",
|
|
56
57
|
"recompose",
|