sf-decomposer 4.1.5 → 4.1.7
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/README.md +71 -63
- package/lib/commands/decomposer/decompose.d.ts +5 -5
- package/lib/commands/decomposer/recompose.d.ts +4 -4
- package/lib/helpers/types.d.ts +19 -2
- package/lib/helpers/types.js +1 -0
- package/lib/helpers/types.js.map +1 -1
- package/lib/metadata/getPackageDirectories.js.map +1 -1
- package/lib/metadata/getRegistryValuesBySuffix.d.ts +1 -8
- package/lib/metadata/getRegistryValuesBySuffix.js.map +1 -1
- package/lib/metadata/getUniqueIdElements.js.map +1 -1
- package/lib/metadata/uniqueIdElements.json +3 -0
- package/messages/decomposer.decompose.md +4 -6
- package/messages/decomposer.recompose.md +5 -5
- package/oclif.lock +1742 -1908
- package/oclif.manifest.json +24 -8
- package/package.json +11 -11
package/README.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
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
|
|
|
5
|
-
The `sf-decomposer` is a Salesforce plugin
|
|
5
|
+
The `sf-decomposer` is a Salesforce plugin that reads the original metadata files (XML) and creates smaller, more manageable files for version control. The inverse function (`recompose`) will recreate deployment-compatible metadata files. This plugin is intended for users who deploy their Salesforce codebase from a git repository that follows the Salesforce DX Project Configuration (`sfdx-project.json` file).
|
|
6
6
|
|
|
7
|
-
This plugin requires [git](https://git-scm.com/downloads) to be installed and
|
|
7
|
+
This plugin requires [git](https://git-scm.com/downloads) to be installed and it can be called using the command `git`.
|
|
8
8
|
|
|
9
9
|
This will parse and retain the following in the original XMLs:
|
|
10
10
|
|
|
@@ -12,14 +12,14 @@ This will parse and retain the following in the original XMLs:
|
|
|
12
12
|
- Comments
|
|
13
13
|
- Attributes
|
|
14
14
|
|
|
15
|
-
The decomposed file format can be XML, JSON, or YAML. Based on testing, XML and YAML
|
|
15
|
+
The decomposed file format can be XML, JSON, or YAML. Based on testing, XML and YAML handle CDATA formatting more nicely than JSON.
|
|
16
16
|
|
|
17
17
|
**DISCLAIMERS:**
|
|
18
18
|
|
|
19
|
-
- You must update the `.forceignore` to have the Salesforce CLI ignore the decomposed files created by this plugin. See section `Ignore Files`. Updates to the `.gitignore` are optional and can be updated based on what you want staged in your repo.
|
|
20
|
-
- It is
|
|
19
|
+
- You must update the `.forceignore` to have the Salesforce CLI ignore the decomposed files created by this plugin. See section `Ignore Files`. Updates to the `.gitignore` are optional and can be updated based on what you want to be staged in your repo.
|
|
20
|
+
- 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.
|
|
21
21
|
- Do not change your production/QA pipelines until you have tested this and are happy with the results.
|
|
22
|
-
-
|
|
22
|
+
- Ensure your deployment pipelines are stable before implementing this plugin.
|
|
23
23
|
|
|
24
24
|
## Install
|
|
25
25
|
|
|
@@ -34,17 +34,17 @@ The `sf-decomposer` supports 2 commands:
|
|
|
34
34
|
- `sf decomposer decompose`
|
|
35
35
|
- `sf decomposer recompose`
|
|
36
36
|
|
|
37
|
-
Both commands need to be
|
|
37
|
+
Both commands need to be run somewhere inside your Salesforce DX git repository (root folder is preferred). This plugin will read the `sfdx-project.json` file and process all package directories listed in the file.
|
|
38
38
|
|
|
39
39
|
## `sf decomposer decompose`
|
|
40
40
|
|
|
41
|
-
Decomposes the original metadata files into smaller files for version control.
|
|
41
|
+
Decomposes the original metadata files into smaller files for version control. Except for custom labels, the smaller files will be placed into new sub-directories:
|
|
42
42
|
|
|
43
43
|
<img src="https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-perm-set.png">
|
|
44
44
|
|
|
45
45
|
<br>
|
|
46
46
|
|
|
47
|
-
Custom
|
|
47
|
+
Custom labels will be decomposed directly in the root labels folder:
|
|
48
48
|
|
|
49
49
|
<img src="https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-labels.png">
|
|
50
50
|
|
|
@@ -62,13 +62,11 @@ Unique ID elements are used to name decomposed files for nested elements. The de
|
|
|
62
62
|
</labels>
|
|
63
63
|
```
|
|
64
64
|
|
|
65
|
-
If the default unique ID elements are not found in the nested element, the plugin will look for any other metadata
|
|
65
|
+
If the default unique ID elements are not found in the nested element, the plugin will look for any other metadata-specific unique ID elements (see the `Contributing` section for more information). If a unique ID element is not found, the short SHA-256 hash of the element contents will be used to name the decomposed file, as shown below. It's recommended to add the `--prepurge` flag to the `decompose` command to remove pre-existing decomposed files that may conflict with newer decomposed files due to different SHA hashes.
|
|
66
66
|
|
|
67
|
-
|
|
67
|
+
Using the `--format` flag, you can set the desired file type for the decomposed files to XML (default), YAML, or JSON.
|
|
68
68
|
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
Using the `--format` flag, you can set the desired file type for the decomposed files to XML (default), YAML, or JSON. **Note**: The `--format` flag for the recompose command must match what you selected for the decompose `--format`.
|
|
69
|
+
**Note**: The `--format` flag for the recompose command must match what you selected for the decompose `--format`.
|
|
72
70
|
|
|
73
71
|
<img src="https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/.github/images/decomposed-apps-hashes.png">
|
|
74
72
|
|
|
@@ -79,7 +77,7 @@ USAGE
|
|
|
79
77
|
$ sf decomposer decompose -m <value> -f <value> [--prepurge --postpurge --debug --json]
|
|
80
78
|
|
|
81
79
|
FLAGS
|
|
82
|
-
-m, --metadata-type=<value> The metadata suffix to process, such as 'flow', 'labels', etc. You can provide this flag multiple times to process multiple metadata types
|
|
80
|
+
-m, --metadata-type=<value> The metadata suffix to process, such as 'flow', 'labels', etc. You can provide this flag multiple times to process multiple metadata types with a single command.
|
|
83
81
|
-f, --format=<value> [default: 'xml'] The file type for the decomposed files.
|
|
84
82
|
--prepurge [default: false] If provided, purge directories of pre-existing decomposed files.
|
|
85
83
|
--postpurge [default: false] If provided, purge the original files after decomposing them.
|
|
@@ -93,7 +91,7 @@ DESCRIPTION
|
|
|
93
91
|
|
|
94
92
|
These smaller decomposed files can be XMLs, YAMLs, or JSONs.
|
|
95
93
|
|
|
96
|
-
You should run this after
|
|
94
|
+
You should run this after you retrieve metadata from an org.
|
|
97
95
|
|
|
98
96
|
EXAMPLES
|
|
99
97
|
Decompose all flows:
|
|
@@ -108,7 +106,7 @@ EXAMPLES
|
|
|
108
106
|
|
|
109
107
|
## `sf decomposer recompose`
|
|
110
108
|
|
|
111
|
-
Reads
|
|
109
|
+
Reads the files created by the decompose command and recreates deployment-compatible metadata files.
|
|
112
110
|
|
|
113
111
|
Ensure the `--format` flag of the recompose command matches the file format selected for the `--format` flag in the decompose command. File formats for the decomposed files can be XML (default), YAML, or JSON.
|
|
114
112
|
|
|
@@ -119,7 +117,7 @@ USAGE
|
|
|
119
117
|
$ sf decomposer recompose -m <value> -f <value> [--postpurge --debug --json]
|
|
120
118
|
|
|
121
119
|
FLAGS
|
|
122
|
-
-m, --metadata-type=<value> The metadata suffix to process, such as 'flow', 'labels', etc. You can provide this flag multiple times to process multiple metadata types
|
|
120
|
+
-m, --metadata-type=<value> The metadata suffix to process, such as 'flow', 'labels', etc. You can provide this flag multiple times to process multiple metadata types with a single command.
|
|
123
121
|
-f, --format=<value> [default: 'xml'] The file format for the decomposed files.
|
|
124
122
|
--postpurge [default: false] If provided, purge the decomposed files after recomposing them.
|
|
125
123
|
--debug [default: false] If provided, log debugging results to a text file (disassemble.log).
|
|
@@ -128,9 +126,9 @@ GLOBAL FLAGS
|
|
|
128
126
|
--json Format output as json.
|
|
129
127
|
|
|
130
128
|
DESCRIPTION
|
|
131
|
-
This command will read
|
|
129
|
+
This command will read the decomposed files and recreate deployment-compatible metadata files in each package directory.
|
|
132
130
|
|
|
133
|
-
You should run this before you deploy
|
|
131
|
+
You should run this before you deploy decomposed metadata to an org.
|
|
134
132
|
|
|
135
133
|
EXAMPLES
|
|
136
134
|
Recompose all flows:
|
|
@@ -175,7 +173,7 @@ Here are some examples:
|
|
|
175
173
|
- The `botVersion` meta suffix will be blocked from running directly
|
|
176
174
|
- Marketing App Extension (`--metadata-type "marketingappextension"`)
|
|
177
175
|
|
|
178
|
-
### Exceptions
|
|
176
|
+
### Metadata Exceptions
|
|
179
177
|
|
|
180
178
|
`botVersion` is blocked from being ran directly. Please use the `bot` meta suffix to decompose and recompose bots and bot versions.
|
|
181
179
|
|
|
@@ -201,13 +199,9 @@ Children metadata types (ex: custom fields) are not supported and will result in
|
|
|
201
199
|
Error (1): Metadata type not found for the given suffix: field.
|
|
202
200
|
```
|
|
203
201
|
|
|
204
|
-
### Issues
|
|
205
|
-
|
|
206
|
-
Please create "Issues" in this repository if you experience problems decomposing and recomposing specific metadata types or if this plugin's version of SDR needs to be updated to account for new metadata types.
|
|
207
|
-
|
|
208
202
|
## Warnings and Logging
|
|
209
203
|
|
|
210
|
-
The package used to decompose and recompose XMLs, `xml-disassembler`, 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
|
|
204
|
+
The package used to decompose and recompose XMLs, `xml-disassembler`, 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 XML decomposing/recomposing errors, this log will simply be empty.
|
|
211
205
|
|
|
212
206
|
By default, this package will only log errors to the file. This plugin will print `xml-disassembler` errors as warnings in the command terminal to allow all other files to be processed.
|
|
213
207
|
|
|
@@ -273,43 +267,7 @@ If the `.sfdecomposer.config.json` file isn't found, the hooks will be skipped.
|
|
|
273
267
|
|
|
274
268
|
## Ignore Files
|
|
275
269
|
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
Reference the below examples:
|
|
279
|
-
|
|
280
|
-
### `.gitignore` updates
|
|
281
|
-
|
|
282
|
-
Git should ignore the recomposed files.
|
|
283
|
-
|
|
284
|
-
```
|
|
285
|
-
# Ignore recomposed files
|
|
286
|
-
**/permissionsets/*.permissionset-meta.xml
|
|
287
|
-
**/profiles/*.profile-meta.xml
|
|
288
|
-
**/labels/CustomLabels.labels-meta.xml
|
|
289
|
-
**/workflows/*.workflow-meta.xml
|
|
290
|
-
**/flows/*.flow-meta.xml
|
|
291
|
-
**/matchingRules/*.matchingRule-meta.xml
|
|
292
|
-
**/assignmentRules/*.assignmentRules-meta.xml
|
|
293
|
-
**/escalationRules/*.escalationRules-meta.xml
|
|
294
|
-
**/sharingRules/*.sharingRules-meta.xml
|
|
295
|
-
**/autoResponseRules/*.autoResponseRules-meta.xml
|
|
296
|
-
**/globalValueSetTranslations/*.globalValueSetTranslation-meta.xml
|
|
297
|
-
**/standardValueSetTranslations/*.standardValueSetTranslation-meta.xml
|
|
298
|
-
**/translations/*.translation-meta.xml
|
|
299
|
-
**/globalValueSets/*.globalValueSet-meta.xml
|
|
300
|
-
**/standardValueSets/*.standardValueSet-meta.xml
|
|
301
|
-
**/decisionMatrixDefinition/*.decisionMatrixDefinition-meta.xml
|
|
302
|
-
**/aiScoringModelDefinitions/*.aiScoringModelDefinition-meta.xml
|
|
303
|
-
**/bots/*/*.botVersion-meta.xml
|
|
304
|
-
**/bots/*/*.bot-meta.xml
|
|
305
|
-
**/marketingappextensions/*.marketingappextension-meta.xml
|
|
306
|
-
```
|
|
307
|
-
|
|
308
|
-
Git should also ignore the log created by the `xml-disassembler` package (see previous section).
|
|
309
|
-
|
|
310
|
-
```
|
|
311
|
-
disassemble.log
|
|
312
|
-
```
|
|
270
|
+
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 repoisotry.
|
|
313
271
|
|
|
314
272
|
### `.forceignore` updates
|
|
315
273
|
|
|
@@ -359,3 +317,53 @@ The Salesforce CLI should ignore the decomposed files and should allow the recom
|
|
|
359
317
|
!**/bots/*/*.bot-meta.xml
|
|
360
318
|
!**/marketingappextensions/*.marketingappextension-meta.xml
|
|
361
319
|
```
|
|
320
|
+
|
|
321
|
+
### `.gitignore` updates
|
|
322
|
+
|
|
323
|
+
Git should ignore the recomposed files.
|
|
324
|
+
|
|
325
|
+
```
|
|
326
|
+
# Ignore recomposed files
|
|
327
|
+
**/permissionsets/*.permissionset-meta.xml
|
|
328
|
+
**/profiles/*.profile-meta.xml
|
|
329
|
+
**/labels/CustomLabels.labels-meta.xml
|
|
330
|
+
**/workflows/*.workflow-meta.xml
|
|
331
|
+
**/flows/*.flow-meta.xml
|
|
332
|
+
**/matchingRules/*.matchingRule-meta.xml
|
|
333
|
+
**/assignmentRules/*.assignmentRules-meta.xml
|
|
334
|
+
**/escalationRules/*.escalationRules-meta.xml
|
|
335
|
+
**/sharingRules/*.sharingRules-meta.xml
|
|
336
|
+
**/autoResponseRules/*.autoResponseRules-meta.xml
|
|
337
|
+
**/globalValueSetTranslations/*.globalValueSetTranslation-meta.xml
|
|
338
|
+
**/standardValueSetTranslations/*.standardValueSetTranslation-meta.xml
|
|
339
|
+
**/translations/*.translation-meta.xml
|
|
340
|
+
**/globalValueSets/*.globalValueSet-meta.xml
|
|
341
|
+
**/standardValueSets/*.standardValueSet-meta.xml
|
|
342
|
+
**/decisionMatrixDefinition/*.decisionMatrixDefinition-meta.xml
|
|
343
|
+
**/aiScoringModelDefinitions/*.aiScoringModelDefinition-meta.xml
|
|
344
|
+
**/bots/*/*.botVersion-meta.xml
|
|
345
|
+
**/bots/*/*.bot-meta.xml
|
|
346
|
+
**/marketingappextensions/*.marketingappextension-meta.xml
|
|
347
|
+
```
|
|
348
|
+
|
|
349
|
+
Git should also ignore the log created by the `xml-disassembler` package.
|
|
350
|
+
|
|
351
|
+
```
|
|
352
|
+
disassemble.log
|
|
353
|
+
```
|
|
354
|
+
|
|
355
|
+
## Contributing
|
|
356
|
+
|
|
357
|
+
Contributions are welcome! If you would like to contribute, please fork the repository, make your changes, and submit a pull request.
|
|
358
|
+
|
|
359
|
+
### Unique ID Elements
|
|
360
|
+
|
|
361
|
+
To add more unique ID elements for a metadata type, you can update the `src/metadata/uniqueIdElements.json` file. The metadata type's suffix should be used as the key.
|
|
362
|
+
|
|
363
|
+
## Issues
|
|
364
|
+
|
|
365
|
+
If you encounter any issues, please create an issue in the repository's [issue tracker](https://github.com/mcarvin8/sf-decomposer/issues). Please also create issues for feature enhancements or to support newer metadata types added to the [SDR toolkit](https://github.com/forcedotcom/source-deploy-retrieve).
|
|
366
|
+
|
|
367
|
+
## License
|
|
368
|
+
|
|
369
|
+
This project is licensed under the MIT license. Please see the [LICENSE](https://raw.githubusercontent.com/mcarvin8/sf-decomposer/main/LICENSE.md) file for details.
|
|
@@ -7,11 +7,11 @@ export default class DecomposerDecompose extends SfCommand<DecomposerDecomposeRe
|
|
|
7
7
|
static readonly description: string;
|
|
8
8
|
static readonly examples: string[];
|
|
9
9
|
static readonly flags: {
|
|
10
|
-
'metadata-type': import("@oclif/core/
|
|
11
|
-
prepurge: import("@oclif/core/
|
|
12
|
-
postpurge: import("@oclif/core/
|
|
13
|
-
debug: import("@oclif/core/
|
|
14
|
-
format: import("@oclif/core/
|
|
10
|
+
'metadata-type': import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
prepurge: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
postpurge: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
14
|
+
format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
15
15
|
};
|
|
16
16
|
run(): Promise<DecomposerDecomposeResult>;
|
|
17
17
|
}
|
|
@@ -7,10 +7,10 @@ export default class DecomposerRecompose extends SfCommand<DecomposerRecomposeRe
|
|
|
7
7
|
static readonly description: string;
|
|
8
8
|
static readonly examples: string[];
|
|
9
9
|
static readonly flags: {
|
|
10
|
-
'metadata-type': import("@oclif/core/
|
|
11
|
-
postpurge: import("@oclif/core/
|
|
12
|
-
debug: import("@oclif/core/
|
|
13
|
-
format: import("@oclif/core/
|
|
10
|
+
'metadata-type': import("@oclif/core/interfaces").OptionFlag<string[], import("@oclif/core/interfaces").CustomOptions>;
|
|
11
|
+
postpurge: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
12
|
+
debug: import("@oclif/core/interfaces").BooleanFlag<boolean>;
|
|
13
|
+
format: import("@oclif/core/interfaces").OptionFlag<string, import("@oclif/core/interfaces").CustomOptions>;
|
|
14
14
|
};
|
|
15
15
|
run(): Promise<DecomposerRecomposeResult>;
|
|
16
16
|
}
|
package/lib/helpers/types.d.ts
CHANGED
|
@@ -1,6 +1,23 @@
|
|
|
1
|
-
export
|
|
1
|
+
export type ConfigFile = {
|
|
2
2
|
metadataSuffixes: string;
|
|
3
3
|
prePurge: boolean;
|
|
4
4
|
postPurge: boolean;
|
|
5
5
|
decomposedFormat: string;
|
|
6
|
-
}
|
|
6
|
+
};
|
|
7
|
+
export type SfdxProject = {
|
|
8
|
+
packageDirectories: Array<{
|
|
9
|
+
path: string;
|
|
10
|
+
}>;
|
|
11
|
+
};
|
|
12
|
+
export type MetaAttributes = {
|
|
13
|
+
metaSuffix: string;
|
|
14
|
+
strictDirectoryName: boolean;
|
|
15
|
+
folderType: string;
|
|
16
|
+
metadataPaths: string[];
|
|
17
|
+
uniqueIdElements: string;
|
|
18
|
+
};
|
|
19
|
+
export type UniqueIdElements = {
|
|
20
|
+
[key: string]: {
|
|
21
|
+
uniqueIdElements: string[];
|
|
22
|
+
};
|
|
23
|
+
};
|
package/lib/helpers/types.js
CHANGED
package/lib/helpers/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/helpers/types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/helpers/types.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getPackageDirectories.js","sourceRoot":"","sources":["../../src/metadata/getPackageDirectories.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;
|
|
1
|
+
{"version":3,"file":"getPackageDirectories.js","sourceRoot":"","sources":["../../src/metadata/getPackageDirectories.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,qCAAqC;AAErC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,sBAAsB,EAAE,MAAM,yBAAyB,CAAC;AACjE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGxD,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,aAAqB;IAC/D,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;IACxB,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAC/D,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,KAAK,CAAC,0DAA0D,YAAY,EAAE,CAAC,CAAC;IACxF,CAAC;IAED,MAAM,cAAc,GAAW,MAAM,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACrE,MAAM,WAAW,GAAgB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAgB,CAAC;IAC3E,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,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,aAAa,CAAC;AACvB,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,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
metaSuffix: string;
|
|
3
|
-
strictDirectoryName: boolean;
|
|
4
|
-
folderType: string;
|
|
5
|
-
metadataPaths: string[];
|
|
6
|
-
uniqueIdElements: string;
|
|
7
|
-
}
|
|
1
|
+
import { MetaAttributes } from '../helpers/types.js';
|
|
8
2
|
export declare function getRegistryValuesBySuffix(metaSuffix: string, command: string): Promise<MetaAttributes>;
|
|
9
|
-
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getRegistryValuesBySuffix.js","sourceRoot":"","sources":["../../src/metadata/getRegistryValuesBySuffix.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,cAAc,EAAgB,MAAM,oCAAoC,CAAC;AAElF,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"getRegistryValuesBySuffix.js","sourceRoot":"","sources":["../../src/metadata/getRegistryValuesBySuffix.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,cAAc,EAAgB,MAAM,oCAAoC,CAAC;AAElF,OAAO,EAAE,0BAA0B,EAAE,MAAM,yBAAyB,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AAEnE,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,UAAkB,EAAE,OAAe;IACjF,IAAI,UAAU,KAAK,QAAQ,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,kDAAkD,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,UAAU,KAAK,YAAY,EAAE,CAAC;QAChC,MAAM,KAAK,CACT,4GAA4G,CAC7G,CAAC;IACJ,CAAC;IACD,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAC5C,MAAM,iBAAiB,GAA6B,cAAc,CAAC,eAAe,CAAC,UAAU,CAAC,CAAC;IAC/F,IAAI,iBAAiB,KAAK,SAAS;QAAE,MAAM,KAAK,CAAC,iDAAiD,UAAU,GAAG,CAAC,CAAC;IAEjH,IACE,iBAAiB,CAAC,UAAU,EAAE,OAAO;QACrC,CAAC,qBAAqB,EAAE,mBAAmB,EAAE,cAAc,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAC7E,iBAAiB,CAAC,UAAU,CAAC,OAAO,CACrC,EACD,CAAC;QACD,MAAM,KAAK,CACT,uBAAuB,iBAAiB,CAAC,UAAU,CAAC,OAAO,+CAA+C,CAC3G,CAAC;IACJ,CAAC;IAED,IAAI,gBAAoC,CAAC;IACzC,IAAI,OAAO,KAAK,WAAW;QAAE,gBAAgB,GAAG,MAAM,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACtF,MAAM,aAAa,GAAa,MAAM,qBAAqB,CAAC,GAAG,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;IAClG,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC;QAC5B,MAAM,KAAK,CAAC,wBAAwB,iBAAiB,CAAC,aAAa,uCAAuC,CAAC,CAAC;IAE9G,MAAM,cAAc,GAAG;QACrB,UAAU,EAAE,iBAAiB,CAAC,MAAgB;QAC9C,mBAAmB,EAAE,iBAAiB,CAAC,mBAA8B;QACrE,UAAU,EAAE,iBAAiB,CAAC,UAAoB;QAClD,aAAa;QACb,gBAAgB,EAAE,gBAAgB;YAChC,CAAC,CAAC,GAAG,0BAA0B,IAAI,gBAAgB,EAAE;YACrD,CAAC,CAAC,0BAA0B;KAC/B,CAAC;IACF,OAAO,cAAc,CAAC;AACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getUniqueIdElements.js","sourceRoot":"","sources":["../../src/metadata/getUniqueIdElements.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"getUniqueIdElements.js","sourceRoot":"","sources":["../../src/metadata/getUniqueIdElements.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AACb,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAI5C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,UAAkB;IAC1D,MAAM,WAAW,GAAW,MAAM,QAAQ,CAAC,IAAI,GAAG,CAAC,yBAAyB,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACzG,MAAM,QAAQ,GAAqB,IAAI,CAAC,KAAK,CAAC,WAAW,CAAqB,CAAC;IAE/E,IAAI,UAAU,IAAI,QAAQ,EAAE,CAAC;QAC3B,OAAO,QAAQ,CAAC,UAAU,CAAC,CAAC,gBAAgB,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC"}
|
|
@@ -4,11 +4,9 @@ Decomposes the metadata files created by retrievals.
|
|
|
4
4
|
|
|
5
5
|
# description
|
|
6
6
|
|
|
7
|
-
This command will read
|
|
7
|
+
This command will read the original metadata files and decompose them into smaller files. The decomposed file format can be XML, YAML, or JSON.
|
|
8
8
|
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
You should use this to create files for version control after retrieving metadata from an org.
|
|
9
|
+
You should run this after you retrieve metadata from an org and before you commit the metadata to your git repository.
|
|
12
10
|
|
|
13
11
|
# examples
|
|
14
12
|
|
|
@@ -17,7 +15,7 @@ You should use this to create files for version control after retrieving metadat
|
|
|
17
15
|
|
|
18
16
|
# flags.metadata-type.summary
|
|
19
17
|
|
|
20
|
-
The metadata suffix to process, such as 'flow', 'labels', etc. You can provide this flag multiple times to process multiple metadata types
|
|
18
|
+
The metadata suffix to process, such as 'flow', 'labels', etc. You can provide this flag multiple times to process multiple metadata types with a single command.
|
|
21
19
|
|
|
22
20
|
# flags.prepurge.summary
|
|
23
21
|
|
|
@@ -29,7 +27,7 @@ If provided, purge the original files after decomposing them.
|
|
|
29
27
|
|
|
30
28
|
# flags.debug.summary
|
|
31
29
|
|
|
32
|
-
If provided, debug to log file.
|
|
30
|
+
If provided, debug to a log file.
|
|
33
31
|
|
|
34
32
|
# flags.format.summary
|
|
35
33
|
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
# summary
|
|
2
2
|
|
|
3
|
-
Recomposes the files created by the `decompose` command
|
|
3
|
+
Recomposes the files created by the `decompose` command before deployments.
|
|
4
4
|
|
|
5
5
|
# description
|
|
6
6
|
|
|
7
|
-
This command will read
|
|
7
|
+
This command will read the decomposed files and recreate deployment-compatible metadata files in each package directory.
|
|
8
8
|
|
|
9
|
-
You should run this before you deploy
|
|
9
|
+
You should run this before you deploy decomposed metadata to an org.
|
|
10
10
|
|
|
11
11
|
# examples
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@ You should run this before you deploy the metadata to an org.
|
|
|
15
15
|
|
|
16
16
|
# flags.metadata-type.summary
|
|
17
17
|
|
|
18
|
-
The metadata suffix to process, such as 'flow', 'labels', etc. You can provide this flag multiple times to process multiple metadata types
|
|
18
|
+
The metadata suffix to process, such as 'flow', 'labels', etc. You can provide this flag multiple times to process multiple metadata types with a single command.
|
|
19
19
|
|
|
20
20
|
# flags.postpurge.summary
|
|
21
21
|
|
|
@@ -23,7 +23,7 @@ If provided, purge the decomposed files after recomposing them.
|
|
|
23
23
|
|
|
24
24
|
# flags.debug.summary
|
|
25
25
|
|
|
26
|
-
If provided, debug to log file.
|
|
26
|
+
If provided, debug to a log file.
|
|
27
27
|
|
|
28
28
|
# flags.format.summary
|
|
29
29
|
|