sf-decomposer 5.3.6 → 5.3.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,20 @@
5
5
 
6
6
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
7
7
 
8
+ ## [5.3.8](https://github.com/mcarvin8/sf-decomposer/compare/v5.3.7...v5.3.8) (2025-02-03)
9
+
10
+
11
+ ### Bug Fixes
12
+
13
+ * **deps:** bump @salesforce/source-deploy-retrieve ([3d3b160](https://github.com/mcarvin8/sf-decomposer/commit/3d3b16029fa3b56f48d17694e5a0fb25d173ac2e))
14
+
15
+ ## [5.3.7](https://github.com/mcarvin8/sf-decomposer/compare/v5.3.6...v5.3.7) (2025-02-03)
16
+
17
+
18
+ ### Bug Fixes
19
+
20
+ * upgrade disassemblers ([f36035b](https://github.com/mcarvin8/sf-decomposer/commit/f36035b309604dff445438823bf3cf16e529f65b))
21
+
8
22
  ## [5.3.6](https://github.com/mcarvin8/sf-decomposer/compare/v5.3.5...v5.3.6) (2025-02-01)
9
23
 
10
24
 
package/README.md CHANGED
@@ -27,8 +27,7 @@ A Salesforce CLI plugin to break down large metadata files into smaller, more ma
27
27
 
28
28
  **DISCLAIMERS:**
29
29
 
30
- - You must update the `.forceignore` to have the Salesforce CLI ignore the decomposed files created by this plugin. See section `Ignore Files`.
31
- - Updates to the `.gitignore` are optional if you are using this in a git-based repo and can be updated based on what you want to be staged in your repo.
30
+ - You must update the `.forceignore` to have the Salesforce CLI ignore the decomposed files created by this plugin. See [Ignore Files](#ignore-files).
32
31
  - 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
32
  - Do not change your production/QA pipelines until you have tested this and are happy with the results.
34
33
  - Ensure your deployment pipelines are stable before implementing this plugin.
@@ -222,7 +221,7 @@ The ignore file is not read by the recompose command.
222
221
 
223
222
  ## Hooks
224
223
 
225
- **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" section below.
224
+ **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.
226
225
 
227
226
  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).
228
227
 
@@ -238,17 +237,15 @@ If the `.sfdecomposer.config.json` file isn't found, the hooks will be skipped.
238
237
 
239
238
  ## Ignore Files
240
239
 
241
- You **must** update the `.forceignore` to have the Salesforce CLI ignore the decomposed files created by this plugin. Optionally, you can add the recomposed files to your `.gitignore` to avoid staging those in your git-based repository.
242
-
243
240
  ### `.forceignore` updates
244
241
 
245
- The Salesforce CLI should ignore the decomposed files and should allow the recomposed files.
242
+ The Salesforce CLI **must** ignore the decomposed files and allow the recomposed files.
246
243
 
247
244
  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`).
248
245
 
249
246
  ### `.gitignore` updates
250
247
 
251
- I recommend having Git (or whatever version control system you are using) ignore the recomposed files so you don't stage those in your repositories. You can also ignore the log created by the disassembler package.
248
+ 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.
252
249
 
253
250
  You can use the sample [.gitignore](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/samples/.gitignore) provided.
254
251
 
@@ -1,5 +1,4 @@
1
1
  'use strict';
2
- /* eslint-disable no-await-in-loop */
3
2
  import { resolve, join, basename } from 'node:path';
4
3
  import { readFile, readdir, stat } from 'node:fs/promises';
5
4
  import { getRepoRoot } from '../service/getRepoRoot.js';
@@ -15,33 +14,30 @@ export async function getPackageDirectories(metaDirectory, ignoreDirs) {
15
14
  const sfdxProject = JSON.parse(sfdxProjectRaw);
16
15
  const normalizedIgnoreDirs = (ignoreDirs ?? []).map((dir) => basename(dir));
17
16
  const packageDirectories = sfdxProject.packageDirectories.map((directory) => resolve(repoRoot, directory.path));
18
- const metadataPaths = [];
19
- for (const directory of packageDirectories) {
20
- if (normalizedIgnoreDirs.includes(basename(directory))) {
21
- continue;
17
+ const searchPromises = packageDirectories.map(async (directory) => {
18
+ if (!normalizedIgnoreDirs.includes(basename(directory))) {
19
+ return searchRecursively(directory, metaDirectory);
22
20
  }
23
- const filePath = await searchRecursively(directory, metaDirectory);
24
- if (filePath !== undefined) {
25
- metadataPaths.push(resolve(filePath));
26
- }
27
- }
21
+ });
22
+ const results = await Promise.all(searchPromises);
23
+ const metadataPaths = results.filter((filePath) => filePath !== undefined).map((filePath) => resolve(filePath));
28
24
  return { metadataPaths, ignorePath };
29
25
  }
30
26
  async function searchRecursively(dxDirectory, subDirectoryName) {
31
27
  const files = await readdir(dxDirectory);
32
- for (const file of files) {
28
+ const searchPromises = files.map(async (file) => {
33
29
  const filePath = join(dxDirectory, file);
34
30
  const stats = await stat(filePath);
35
- if (stats.isDirectory() && file !== subDirectoryName) {
36
- const result = await searchRecursively(filePath, subDirectoryName);
37
- if (result) {
38
- return result;
31
+ if (stats.isDirectory()) {
32
+ if (file === subDirectoryName) {
33
+ return filePath;
34
+ }
35
+ else {
36
+ return searchRecursively(filePath, subDirectoryName);
39
37
  }
40
38
  }
41
- else if (stats.isDirectory() && file === subDirectoryName) {
42
- return filePath;
43
- }
44
- }
45
- return undefined;
39
+ });
40
+ const results = await Promise.all(searchPromises);
41
+ return results.find((result) => result !== undefined);
46
42
  }
47
43
  //# sourceMappingURL=getPackageDirectories.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getPackageDirectories.js","sourceRoot":"","sources":["../../src/metadata/getPackageDirectories.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,aAAqB,EACrB,UAAgC;IAEhC,MAAM,EAAE,QAAQ,EAAE,gBAAgB,EAAE,GAAG,MAAM,WAAW,EAAE,CAAC;IAC3D,IAAI,CAAC,QAAQ,IAAI,CAAC,gBAAgB,EAAE,CAAC;QACnC,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,MAAM,UAAU,GAAG,OAAO,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAClD,MAAM,cAAc,GAAW,MAAM,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAgB,CAAC;IAC3E,MAAM,oBAAoB,GAAG,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC5E,MAAM,kBAAkB,GAAG,WAAW,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;IAChH,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;QAC3C,IAAI,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YACvD,SAAS;QACX,CAAC;QACD,MAAM,QAAQ,GAAuB,MAAM,iBAAiB,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACvF,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;YAC3B,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IACD,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;AACvC,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,WAAmB,EAAE,gBAAwB;IAC5E,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YACrD,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,CAAC;YACnE,IAAI,MAAM,EAAE,CAAC;gBACX,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,CAAC,WAAW,EAAE,IAAI,IAAI,KAAK,gBAAgB,EAAE,CAAC;YAC5D,OAAO,QAAQ,CAAC;QAClB,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
1
+ {"version":3,"file":"getPackageDirectories.js","sourceRoot":"","sources":["../../src/metadata/getPackageDirectories.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,26 @@
1
1
  'use strict';
2
- /* eslint-disable no-await-in-loop */
3
2
  import { access } from 'node:fs/promises';
4
3
  import { join, dirname } from 'node:path';
5
4
  import { SFDX_PROJECT_FILE_NAME } from '../helpers/constants.js';
6
- export async function getRepoRoot() {
7
- let currentDir = process.cwd();
8
- let found = false;
9
- let dxConfigFilePath;
10
- let repoRoot;
11
- do {
12
- const filePath = join(currentDir, SFDX_PROJECT_FILE_NAME);
13
- try {
14
- // Check if sfdx-project.json exists in the current directory
15
- await access(filePath);
16
- dxConfigFilePath = filePath;
17
- repoRoot = currentDir;
18
- found = true;
19
- }
20
- catch {
21
- // If file not found, move up one directory level
22
- const parentDir = dirname(currentDir);
23
- if (currentDir === parentDir) {
24
- // Reached the root without finding the file, throw an error
25
- throw new Error('sfdx-project.json not found in any parent directory.');
26
- }
27
- currentDir = parentDir;
5
+ async function findRepoRoot(dir) {
6
+ const filePath = join(dir, SFDX_PROJECT_FILE_NAME);
7
+ try {
8
+ // Check if sfdx-project.json exists in the current directory
9
+ await access(filePath);
10
+ return { repoRoot: dir, dxConfigFilePath: filePath };
11
+ }
12
+ catch {
13
+ const parentDir = dirname(dir);
14
+ if (dir === parentDir) {
15
+ // Reached the root without finding the file, throw an error
16
+ throw new Error(`${SFDX_PROJECT_FILE_NAME} not found in any parent directory.`);
28
17
  }
29
- } while (!found);
30
- return { repoRoot, dxConfigFilePath };
18
+ // Recursively search in the parent directory
19
+ return findRepoRoot(parentDir);
20
+ }
21
+ }
22
+ export async function getRepoRoot() {
23
+ const currentDir = process.cwd();
24
+ return findRepoRoot(currentDir);
31
25
  }
32
26
  //# sourceMappingURL=getRepoRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getRepoRoot.js","sourceRoot":"","sources":["../../src/service/getRepoRoot.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE1C,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,MAAM,CAAC,KAAK,UAAU,WAAW;IAC/B,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC/B,IAAI,KAAK,GAAG,KAAK,CAAC;IAClB,IAAI,gBAAoC,CAAC;IACzC,IAAI,QAA4B,CAAC;IAEjC,GAAG,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,EAAE,sBAAsB,CAAC,CAAC;QAE1D,IAAI,CAAC;YACH,6DAA6D;YAC7D,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC;YACvB,gBAAgB,GAAG,QAAQ,CAAC;YAC5B,QAAQ,GAAG,UAAU,CAAC;YACtB,KAAK,GAAG,IAAI,CAAC;QACf,CAAC;QAAC,MAAM,CAAC;YACP,iDAAiD;YACjD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC7B,4DAA4D;gBAC5D,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAC;YAC1E,CAAC;YACD,UAAU,GAAG,SAAS,CAAC;QACzB,CAAC;IACH,CAAC,QAAQ,CAAC,KAAK,EAAE;IACjB,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"getRepoRoot.js","sourceRoot":"","sources":["../../src/service/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,yBAAyB,CAAC;AAEjE,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"}
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.14.0":
1600
- version "12.14.0"
1601
- resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.14.0.tgz#04036f76301071b2188c92f70d77a138bc0d72cf"
1602
- integrity sha512-3WOQCUY0a8cNYx5/NVtaubLEgxo/vHS/7k4Kw/FEZY3ysALpPCqWk2psJQP56xsp/SDAI3lV0VpMZadrL+ryMw==
1599
+ "@salesforce/source-deploy-retrieve@^12.14.2":
1600
+ version "12.14.2"
1601
+ resolved "https://registry.yarnpkg.com/@salesforce/source-deploy-retrieve/-/source-deploy-retrieve-12.14.2.tgz#c14c62f2d72d5415265401068bb0e046a2b0f973"
1602
+ integrity sha512-ZLV5YYNZV7d+ONzrgA+VeMsdWr+sqx2WQaswFK6RzrHPqItsczp6RM298oOZm8ZvKJCdQpjiRi0/cDqKGX/nkw==
1603
1603
  dependencies:
1604
1604
  "@salesforce/core" "^8.8.2"
1605
1605
  "@salesforce/kit" "^3.2.3"
@@ -7791,10 +7791,10 @@ write-file-atomic@^3.0.0:
7791
7791
  signal-exit "^3.0.2"
7792
7792
  typedarray-to-buffer "^3.1.5"
7793
7793
 
7794
- xml-disassembler@^1.3.10, xml-disassembler@^1.3.8:
7795
- version "1.3.10"
7796
- resolved "https://registry.yarnpkg.com/xml-disassembler/-/xml-disassembler-1.3.10.tgz#de0e9697eabc2cab79cc2a0a2a9ee99f472db64b"
7797
- integrity sha512-NqL1FdKI5c7d7fkB69VDFOMlRspX7u5D7fEpNWgXn9F8PIlyInHWYisBqSsmTk3YUZaJdM54VCMI92d+rFEYvQ==
7794
+ xml-disassembler@^1.3.11:
7795
+ version "1.3.11"
7796
+ resolved "https://registry.yarnpkg.com/xml-disassembler/-/xml-disassembler-1.3.11.tgz#427ea0ef5ab679dce3ff931136834c821dd1e374"
7797
+ integrity sha512-SK20Co9nxwnQIDh7qlSX9lPsp4Zho+ysMXulsUmDhEAYLe57WHaBfi0DcdgTrB9cWBgjrM8TtipK7FZ81rzCag==
7798
7798
  dependencies:
7799
7799
  fast-xml-parser "^4.5.1"
7800
7800
  ignore "^5.3.1"
@@ -7809,21 +7809,21 @@ xml2js@^0.6.2:
7809
7809
  sax ">=0.6.0"
7810
7810
  xmlbuilder "~11.0.0"
7811
7811
 
7812
- xml2json-disassembler@^1.1.7:
7813
- version "1.1.10"
7814
- resolved "https://registry.yarnpkg.com/xml2json-disassembler/-/xml2json-disassembler-1.1.10.tgz#dee12688bfc72689bd6a92fe711455eb520e1dd4"
7815
- integrity sha512-6BQnD5TH3t2WYmcVhXxarqk0qR3x5ER1NZa3YQOltr4FyCinzjA0dTkeU6ROR44GbewRJrFEzKYIQFJw8ZOESA==
7812
+ xml2json-disassembler@^1.1.11:
7813
+ version "1.1.11"
7814
+ resolved "https://registry.yarnpkg.com/xml2json-disassembler/-/xml2json-disassembler-1.1.11.tgz#3500612985d0139021bf960031b4cfbde719dc2a"
7815
+ integrity sha512-SeiOFYNo5+T0wLNBWuQaePYo7P+LDIBGK8ZfbWolkWtK5o3isoR+955oDdnc/M3edpVElUi2hHq338PgG56ing==
7816
7816
  dependencies:
7817
7817
  tslib "^2.6.2"
7818
- xml-disassembler "^1.3.10"
7818
+ xml-disassembler "^1.3.11"
7819
7819
 
7820
- xml2yaml-disassembler@^1.1.7:
7821
- version "1.1.10"
7822
- resolved "https://registry.yarnpkg.com/xml2yaml-disassembler/-/xml2yaml-disassembler-1.1.10.tgz#b6b547a25d5bd9ff69b720c9abac2723612d8bc0"
7823
- integrity sha512-m3FU9pJvvUjzZjtlKGCyp/m2EsWVLEI6KhoMMCEL3X31w5GEidyQfcDDFvVAPczuNlVV66rEccMXQdBS71+iPw==
7820
+ xml2yaml-disassembler@^1.1.11:
7821
+ version "1.1.11"
7822
+ resolved "https://registry.yarnpkg.com/xml2yaml-disassembler/-/xml2yaml-disassembler-1.1.11.tgz#cd3f2a1394fed8df41d62184eecefb112d129f62"
7823
+ integrity sha512-gvEYlHVn0nqiP0P0iGZrtL4RlTg1jFCvP+QHSWSTDhsdCQP66B5qgaiKgjkPLrwq1aMsEQf0C4Wxxc1ogNwlnw==
7824
7824
  dependencies:
7825
7825
  tslib "^2.6.2"
7826
- xml-disassembler "^1.3.10"
7826
+ xml-disassembler "^1.3.11"
7827
7827
  yaml "^2.7.0"
7828
7828
 
7829
7829
  xmlbuilder@~11.0.0:
@@ -198,5 +198,5 @@
198
198
  ]
199
199
  }
200
200
  },
201
- "version": "5.3.6"
201
+ "version": "5.3.8"
202
202
  }
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
1
  {
2
2
  "name": "sf-decomposer",
3
3
  "description": "Decomposes Salesforce metadata into more manageable files.",
4
- "version": "5.3.6",
4
+ "version": "5.3.8",
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.14.0",
9
+ "@salesforce/source-deploy-retrieve": "^12.14.2",
10
10
  "fs-extra": "^11.2.0",
11
- "xml-disassembler": "^1.3.8",
12
- "xml2json-disassembler": "^1.1.7",
13
- "xml2yaml-disassembler": "^1.1.7"
11
+ "xml-disassembler": "^1.3.11",
12
+ "xml2json-disassembler": "^1.1.11",
13
+ "xml2yaml-disassembler": "^1.1.11"
14
14
  },
15
15
  "devDependencies": {
16
16
  "@commitlint/cli": "^18.6.1",