sfdx-hardis 5.45.0 → 5.45.1-beta202508100129.0
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 +8 -0
- package/lib/commands/hardis/auth/login.js +20 -6
- package/lib/commands/hardis/auth/login.js.map +1 -1
- package/lib/commands/hardis/cache/clear.d.ts +4 -1
- package/lib/commands/hardis/cache/clear.js +20 -2
- package/lib/commands/hardis/cache/clear.js.map +1 -1
- package/lib/commands/hardis/config/get.js +20 -1
- package/lib/commands/hardis/config/get.js.map +1 -1
- package/lib/commands/hardis/doc/extract/permsetgroups.js +25 -1
- package/lib/commands/hardis/doc/extract/permsetgroups.js.map +1 -1
- package/lib/commands/hardis/doc/fieldusage.js +21 -3
- package/lib/commands/hardis/doc/fieldusage.js.map +1 -1
- package/lib/commands/hardis/doc/flow2markdown.js +31 -4
- package/lib/commands/hardis/doc/flow2markdown.js.map +1 -1
- package/lib/commands/hardis/doc/mkdocs-to-cf.js +48 -28
- package/lib/commands/hardis/doc/mkdocs-to-cf.js.map +1 -1
- package/lib/commands/hardis/doc/mkdocs-to-salesforce.js +40 -17
- package/lib/commands/hardis/doc/mkdocs-to-salesforce.js.map +1 -1
- package/lib/commands/hardis/doc/override-prompts.js +43 -38
- package/lib/commands/hardis/doc/override-prompts.js.map +1 -1
- package/lib/commands/hardis/doc/packagexml2markdown.js +27 -1
- package/lib/commands/hardis/doc/packagexml2markdown.js.map +1 -1
- package/lib/commands/hardis/doc/plugin/generate.js +35 -7
- package/lib/commands/hardis/doc/plugin/generate.js.map +1 -1
- package/lib/commands/hardis/doc/project2markdown.js +11 -2
- package/lib/commands/hardis/doc/project2markdown.js.map +1 -1
- package/lib/commands/hardis/git/pull-requests/extract.js +27 -1
- package/lib/commands/hardis/git/pull-requests/extract.js.map +1 -1
- package/lib/commands/hardis/lint/access.js +37 -6
- package/lib/commands/hardis/lint/access.js.map +1 -1
- package/lib/commands/hardis/lint/metadatastatus.js +29 -10
- package/lib/commands/hardis/lint/metadatastatus.js.map +1 -1
- package/lib/commands/hardis/lint/missingattributes.js +25 -1
- package/lib/commands/hardis/lint/missingattributes.js.map +1 -1
- package/lib/commands/hardis/lint/unusedmetadatas.js +104 -49
- package/lib/commands/hardis/lint/unusedmetadatas.js.map +1 -1
- package/lib/commands/hardis/mdapi/deploy.d.ts +1 -1
- package/lib/commands/hardis/mdapi/deploy.js +24 -2
- package/lib/commands/hardis/mdapi/deploy.js.map +1 -1
- package/lib/commands/hardis/misc/custom-label-translations.js +38 -1
- package/lib/commands/hardis/misc/custom-label-translations.js.map +1 -1
- package/lib/commands/hardis/misc/purge-references.js +33 -3
- package/lib/commands/hardis/misc/purge-references.js.map +1 -1
- package/lib/commands/hardis/misc/servicenow-report.js +4 -0
- package/lib/commands/hardis/misc/servicenow-report.js.map +1 -1
- package/lib/commands/hardis/misc/toml2csv.js +39 -1
- package/lib/commands/hardis/misc/toml2csv.js.map +1 -1
- package/lib/commands/hardis/org/community/update.d.ts +1 -1
- package/lib/commands/hardis/org/community/update.js +28 -1
- package/lib/commands/hardis/org/community/update.js.map +1 -1
- package/lib/commands/hardis/org/configure/data.js +45 -10
- package/lib/commands/hardis/org/configure/data.js.map +1 -1
- package/lib/commands/hardis/org/configure/files.js +30 -2
- package/lib/commands/hardis/org/configure/files.js.map +1 -1
- package/lib/commands/hardis/org/configure/monitoring.js +41 -7
- package/lib/commands/hardis/org/configure/monitoring.js.map +1 -1
- package/lib/commands/hardis/org/connect.js +23 -2
- package/lib/commands/hardis/org/connect.js.map +1 -1
- package/lib/commands/hardis/org/create.js +31 -2
- package/lib/commands/hardis/org/create.js.map +1 -1
- package/lib/commands/hardis/org/data/delete.js +28 -6
- package/lib/commands/hardis/org/data/delete.js.map +1 -1
- package/lib/commands/hardis/org/data/export.js +28 -2
- package/lib/commands/hardis/org/data/export.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/audittrail.js +18 -16
- package/lib/commands/hardis/org/diagnose/audittrail.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/instanceupgrade.js +26 -2
- package/lib/commands/hardis/org/diagnose/instanceupgrade.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/legacyapi.js +1 -2
- package/lib/commands/hardis/org/diagnose/legacyapi.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/licenses.js +29 -1
- package/lib/commands/hardis/org/diagnose/licenses.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/unused-apex-classes.js +5 -0
- package/lib/commands/hardis/org/diagnose/unused-apex-classes.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/unused-connected-apps.js +35 -7
- package/lib/commands/hardis/org/diagnose/unused-connected-apps.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/unusedlicenses.js +33 -10
- package/lib/commands/hardis/org/diagnose/unusedlicenses.js.map +1 -1
- package/lib/commands/hardis/org/diagnose/unusedusers.js +28 -7
- package/lib/commands/hardis/org/diagnose/unusedusers.js.map +1 -1
- package/lib/commands/hardis/org/files/export.js +25 -5
- package/lib/commands/hardis/org/files/export.js.map +1 -1
- package/lib/commands/hardis/org/files/import.js +23 -3
- package/lib/commands/hardis/org/files/import.js.map +1 -1
- package/lib/commands/hardis/org/generate/packagexmlfull.js +33 -2
- package/lib/commands/hardis/org/generate/packagexmlfull.js.map +1 -1
- package/lib/commands/hardis/org/monitor/backup.js +4 -3
- package/lib/commands/hardis/org/monitor/backup.js.map +1 -1
- package/lib/commands/hardis/org/monitor/limits.js +27 -1
- package/lib/commands/hardis/org/monitor/limits.js.map +1 -1
- package/lib/commands/hardis/org/multi-org-query.js +28 -4
- package/lib/commands/hardis/org/multi-org-query.js.map +1 -1
- package/lib/commands/hardis/org/purge/apexlog.js +27 -1
- package/lib/commands/hardis/org/purge/apexlog.js.map +1 -1
- package/lib/commands/hardis/org/purge/flow.js +56 -13
- package/lib/commands/hardis/org/purge/flow.js.map +1 -1
- package/lib/commands/hardis/org/retrieve/packageconfig.js +29 -3
- package/lib/commands/hardis/org/retrieve/packageconfig.js.map +1 -1
- package/lib/commands/hardis/org/retrieve/sources/analytics.js +24 -1
- package/lib/commands/hardis/org/retrieve/sources/analytics.js.map +1 -1
- package/lib/commands/hardis/org/retrieve/sources/dx.js +33 -2
- package/lib/commands/hardis/org/retrieve/sources/dx.js.map +1 -1
- package/lib/commands/hardis/org/retrieve/sources/dx2.js +28 -3
- package/lib/commands/hardis/org/retrieve/sources/dx2.js.map +1 -1
- package/lib/commands/hardis/org/retrieve/sources/metadata.js +28 -1
- package/lib/commands/hardis/org/retrieve/sources/metadata.js.map +1 -1
- package/lib/commands/hardis/org/select.js +24 -1
- package/lib/commands/hardis/org/select.js.map +1 -1
- package/lib/commands/hardis/org/test/apex.js +14 -3
- package/lib/commands/hardis/org/test/apex.js.map +1 -1
- package/lib/commands/hardis/org/user/activateinvalid.js +3 -0
- package/lib/commands/hardis/org/user/activateinvalid.js.map +1 -1
- package/lib/commands/hardis/org/user/freeze.js +29 -2
- package/lib/commands/hardis/org/user/freeze.js.map +1 -1
- package/lib/commands/hardis/org/user/unfreeze.js +29 -2
- package/lib/commands/hardis/org/user/unfreeze.js.map +1 -1
- package/lib/commands/hardis/package/create.js +30 -1
- package/lib/commands/hardis/package/create.js.map +1 -1
- package/lib/commands/hardis/package/install.js +6 -0
- package/lib/commands/hardis/package/install.js.map +1 -1
- package/lib/commands/hardis/package/mergexml.js +27 -1
- package/lib/commands/hardis/package/mergexml.js.map +1 -1
- package/lib/commands/hardis/package/version/create.js +33 -2
- package/lib/commands/hardis/package/version/create.js.map +1 -1
- package/lib/commands/hardis/package/version/list.js +20 -1
- package/lib/commands/hardis/package/version/list.js.map +1 -1
- package/lib/commands/hardis/package/version/promote.js +26 -1
- package/lib/commands/hardis/package/version/promote.js.map +1 -1
- package/lib/commands/hardis/packagexml/append.d.ts +1 -1
- package/lib/commands/hardis/packagexml/append.js +23 -1
- package/lib/commands/hardis/packagexml/append.js.map +1 -1
- package/lib/commands/hardis/packagexml/remove.d.ts +1 -1
- package/lib/commands/hardis/packagexml/remove.js +24 -1
- package/lib/commands/hardis/packagexml/remove.js.map +1 -1
- package/lib/commands/hardis/project/audit/apiversion.js +35 -24
- package/lib/commands/hardis/project/audit/apiversion.js.map +1 -1
- package/lib/commands/hardis/project/audit/callincallout.js +27 -1
- package/lib/commands/hardis/project/audit/callincallout.js.map +1 -1
- package/lib/commands/hardis/project/audit/duplicatefiles.js +35 -2
- package/lib/commands/hardis/project/audit/duplicatefiles.js.map +1 -1
- package/lib/commands/hardis/project/audit/remotesites.js +25 -1
- package/lib/commands/hardis/project/audit/remotesites.js.map +1 -1
- package/lib/commands/hardis/project/clean/emptyitems.js +25 -1
- package/lib/commands/hardis/project/clean/emptyitems.js.map +1 -1
- package/lib/commands/hardis/project/clean/filter-xml-content.d.ts +1 -1
- package/lib/commands/hardis/project/clean/filter-xml-content.js +28 -5
- package/lib/commands/hardis/project/clean/filter-xml-content.js.map +1 -1
- package/lib/commands/hardis/project/clean/hiddenitems.js +25 -1
- package/lib/commands/hardis/project/clean/hiddenitems.js.map +1 -1
- package/lib/commands/hardis/project/clean/manageditems.js +24 -1
- package/lib/commands/hardis/project/clean/manageditems.js.map +1 -1
- package/lib/commands/hardis/project/clean/minimizeprofiles.js +9 -6
- package/lib/commands/hardis/project/clean/minimizeprofiles.js.map +1 -1
- package/lib/commands/hardis/project/clean/orgmissingitems.js +30 -2
- package/lib/commands/hardis/project/clean/orgmissingitems.js.map +1 -1
- package/lib/commands/hardis/project/clean/references.js +30 -3
- package/lib/commands/hardis/project/clean/references.js.map +1 -1
- package/lib/commands/hardis/project/clean/retrievefolders.js +20 -1
- package/lib/commands/hardis/project/clean/retrievefolders.js.map +1 -1
- package/lib/commands/hardis/project/clean/standarditems.js +25 -1
- package/lib/commands/hardis/project/clean/standarditems.js.map +1 -1
- package/lib/commands/hardis/project/clean/systemdebug.js +28 -1
- package/lib/commands/hardis/project/clean/systemdebug.js.map +1 -1
- package/lib/commands/hardis/project/clean/xml.js +5 -4
- package/lib/commands/hardis/project/clean/xml.js.map +1 -1
- package/lib/commands/hardis/project/configure/auth.js +74 -8
- package/lib/commands/hardis/project/configure/auth.js.map +1 -1
- package/lib/commands/hardis/project/convert/profilestopermsets.js +22 -1
- package/lib/commands/hardis/project/convert/profilestopermsets.js.map +1 -1
- package/lib/commands/hardis/project/create.js +5 -1
- package/lib/commands/hardis/project/create.js.map +1 -1
- package/lib/commands/hardis/project/deploy/simulate.js +27 -4
- package/lib/commands/hardis/project/deploy/simulate.js.map +1 -1
- package/lib/commands/hardis/project/fix/profiletabs.js +30 -1
- package/lib/commands/hardis/project/fix/profiletabs.js.map +1 -1
- package/lib/commands/hardis/project/fix/v53flexipages.js +24 -2
- package/lib/commands/hardis/project/fix/v53flexipages.js.map +1 -1
- package/lib/commands/hardis/project/generate/bypass.js +58 -14
- package/lib/commands/hardis/project/generate/bypass.js.map +1 -1
- package/lib/commands/hardis/project/generate/flow-git-diff.js +4 -0
- package/lib/commands/hardis/project/generate/flow-git-diff.js.map +1 -1
- package/lib/commands/hardis/project/generate/gitdelta.js +42 -3
- package/lib/commands/hardis/project/generate/gitdelta.js.map +1 -1
- package/lib/commands/hardis/project/lint.js +23 -1
- package/lib/commands/hardis/project/lint.js.map +1 -1
- package/lib/commands/hardis/project/metadata/findduplicates.js +19 -7
- package/lib/commands/hardis/project/metadata/findduplicates.js.map +1 -1
- package/lib/commands/hardis/scratch/create.js +3 -2
- package/lib/commands/hardis/scratch/create.js.map +1 -1
- package/lib/commands/hardis/scratch/delete.js +24 -1
- package/lib/commands/hardis/scratch/delete.js.map +1 -1
- package/lib/commands/hardis/scratch/pool/create.js +4 -0
- package/lib/commands/hardis/scratch/pool/create.js.map +1 -1
- package/lib/commands/hardis/scratch/pool/localauth.js +22 -1
- package/lib/commands/hardis/scratch/pool/localauth.js.map +1 -1
- package/lib/commands/hardis/scratch/pool/refresh.js +25 -1
- package/lib/commands/hardis/scratch/pool/refresh.js.map +1 -1
- package/lib/commands/hardis/scratch/pool/reset.js +25 -1
- package/lib/commands/hardis/scratch/pool/reset.js.map +1 -1
- package/lib/commands/hardis/scratch/pool/view.js +22 -1
- package/lib/commands/hardis/scratch/pool/view.js.map +1 -1
- package/lib/commands/hardis/scratch/pull.js +28 -9
- package/lib/commands/hardis/scratch/pull.js.map +1 -1
- package/lib/commands/hardis/scratch/push.js +17 -2
- package/lib/commands/hardis/scratch/push.js.map +1 -1
- package/lib/commands/hardis/source/retrieve.d.ts +1 -1
- package/lib/commands/hardis/source/retrieve.js +22 -4
- package/lib/commands/hardis/source/retrieve.js.map +1 -1
- package/lib/commands/hardis/work/new.js +51 -88
- package/lib/commands/hardis/work/new.js.map +1 -1
- package/lib/commands/hardis/work/refresh.js +42 -1
- package/lib/commands/hardis/work/refresh.js.map +1 -1
- package/lib/commands/hardis/work/resetselection.js +28 -3
- package/lib/commands/hardis/work/resetselection.js.map +1 -1
- package/lib/commands/hardis/work/save.js +52 -30
- package/lib/commands/hardis/work/save.js.map +1 -1
- package/lib/commands/hardis/work/ws.d.ts +3 -0
- package/lib/commands/hardis/work/ws.js +23 -3
- package/lib/commands/hardis/work/ws.js.map +1 -1
- package/lib/commands/hello/world.d.ts +1 -1
- package/lib/commands/hello/world.js +20 -1
- package/lib/commands/hello/world.js.map +1 -1
- package/lib/common/aiProvider/index.js +1 -0
- package/lib/common/aiProvider/index.js.map +1 -1
- package/lib/common/gitProvider/azureDevops.js +2 -1
- package/lib/common/gitProvider/azureDevops.js.map +1 -1
- package/lib/common/gitProvider/index.js +1 -0
- package/lib/common/gitProvider/index.js.map +1 -1
- package/lib/common/metadata-utils/index.js +12 -4
- package/lib/common/metadata-utils/index.js.map +1 -1
- package/lib/common/utils/apiUtils.js +22 -9
- package/lib/common/utils/apiUtils.js.map +1 -1
- package/lib/common/utils/authUtils.js +3 -2
- package/lib/common/utils/authUtils.js.map +1 -1
- package/lib/common/utils/dataUtils.js +1 -0
- package/lib/common/utils/dataUtils.js.map +1 -1
- package/lib/common/utils/deployUtils.js +21 -2
- package/lib/common/utils/deployUtils.js.map +1 -1
- package/lib/common/utils/filesUtils.js +33 -9
- package/lib/common/utils/filesUtils.js.map +1 -1
- package/lib/common/utils/gitUtils.js +3 -1
- package/lib/common/utils/gitUtils.js.map +1 -1
- package/lib/common/utils/index.d.ts +1 -1
- package/lib/common/utils/index.js +104 -25
- package/lib/common/utils/index.js.map +1 -1
- package/lib/common/utils/mermaidUtils.js +2 -2
- package/lib/common/utils/orgUtils.js +31 -18
- package/lib/common/utils/orgUtils.js.map +1 -1
- package/lib/common/utils/poolUtils.js +1 -0
- package/lib/common/utils/poolUtils.js.map +1 -1
- package/lib/common/utils/prompts.d.ts +2 -0
- package/lib/common/utils/prompts.js +4 -0
- package/lib/common/utils/prompts.js.map +1 -1
- package/lib/common/utils/xmlUtils.js +1 -1
- package/lib/common/websocketClient.d.ts +15 -2
- package/lib/common/websocketClient.js +149 -10
- package/lib/common/websocketClient.js.map +1 -1
- package/lib/config/index.js +4 -1
- package/lib/config/index.js.map +1 -1
- package/lib/hooks/{postrun → finally}/notify.d.ts +1 -1
- package/lib/hooks/{postrun → finally}/notify.js +3 -1
- package/lib/hooks/finally/notify.js.map +1 -0
- package/lib/hooks/init/check-local-sfdx-hardis-files.js +3 -1
- package/lib/hooks/init/check-local-sfdx-hardis-files.js.map +1 -1
- package/oclif.lock +117 -60
- package/oclif.manifest.json +636 -630
- package/package.json +15 -11
- package/lib/hooks/postrun/notify.js.map +0 -1
|
@@ -70,8 +70,43 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
70
70
|
}),
|
|
71
71
|
};
|
|
72
72
|
static description = `
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
## Command Behavior
|
|
74
|
+
|
|
75
|
+
**Generates custom permissions and permission sets to bypass specified Salesforce automations (Flows, Triggers, and Validation Rules) for specific sObjects.**
|
|
76
|
+
|
|
77
|
+
This command provides a controlled mechanism to temporarily or permanently disable automations for certain sObjects, which is invaluable for:
|
|
78
|
+
|
|
79
|
+
- **Data Loading:** Bypassing validation rules or triggers during large data imports.
|
|
80
|
+
- **Troubleshooting:** Isolating automation issues by temporarily disabling them.
|
|
81
|
+
- **Development:** Allowing developers to work on specific sObjects without triggering complex automations.
|
|
82
|
+
|
|
83
|
+
Key functionalities:
|
|
84
|
+
|
|
85
|
+
- **sObject Selection:** You can specify a comma-separated list of sObjects to bypass (e.g., \`Account,Contact\`). If omitted, an interactive prompt will allow you to select from available sObjects.
|
|
86
|
+
- **Automation Type Selection:** Choose which types of automations to bypass: \`Flow\`, \`Trigger\`, or \`VR\` (Validation Rules). If omitted, an interactive prompt will guide your selection.
|
|
87
|
+
- **Automatic Bypass Application:** Optionally, the command can automatically inject bypass logic into Validation Rules and Triggers. This involves modifying the Apex code for Triggers and the XML for Validation Rules.
|
|
88
|
+
- **Metadata Source:** You can choose to retrieve the metadata elements (Validation Rules, Triggers) from the org (\`--metadata-source org\`) or use local files (\`--metadata-source local\`). Retrieving from the org is recommended for accuracy.
|
|
89
|
+
- **Custom Permission and Permission Set Generation:** For each selected sObject and automation type, it generates:
|
|
90
|
+
- A **Custom Permission** (e.g., \`BypassAccountFlows\`) that acts as the bypass switch.
|
|
91
|
+
- A **Permission Set** (e.g., \`BypassAccountFlows\`) that grants the generated Custom Permission.
|
|
92
|
+
- **Credits Inclusion:** By default, generated XML files include a comment indicating they were generated by sfdx-hardis. This can be skipped using \`--skip-credits\`.
|
|
93
|
+
|
|
94
|
+
## Technical explanations
|
|
95
|
+
|
|
96
|
+
The command's technical implementation involves:
|
|
97
|
+
|
|
98
|
+
- **SOQL Queries (Tooling API):** It queries \`EntityDefinition\` to list customizable sObjects and \`ValidationRule\` and \`ApexTrigger\` to find existing automations.
|
|
99
|
+
- **Interactive Prompts:** Uses the \`prompts\` library to guide the user through selecting sObjects, automation types, and bypass application options.
|
|
100
|
+
- **XML Generation:** Dynamically generates XML content for Custom Permissions and Permission Sets, including descriptions and labels that clearly indicate their purpose.
|
|
101
|
+
- **File System Operations:** Uses \`fs-extra\` to create directories and write the generated Custom Permission and Permission Set XML files.
|
|
102
|
+
- **Metadata Retrieval (for Bypass Application):** If \`apply-to-vrs\` or \`apply-to-triggers\` is used and \`metadata-source\` is \`org\`, it retrieves the relevant Validation Rule or Apex Trigger metadata from the org using \`sf project retrieve start\`.
|
|
103
|
+
- **XML/Apex Code Modification:**
|
|
104
|
+
- For Validation Rules, it modifies the \`errorConditionFormula\` in the XML to include a check for the bypass Custom Permission.
|
|
105
|
+
- For Apex Triggers, it injects an \`if\` statement at the beginning of the trigger body to check for the bypass Custom Permission.
|
|
106
|
+
- **\`parseXmlFile\` and \`writeXmlFile\`:** Used for reading and writing XML metadata files.
|
|
107
|
+
- **\`execCommand\`:** Used for executing Salesforce CLI commands, particularly for metadata retrieval.
|
|
108
|
+
- **Error Handling:** Includes checks for invalid sObject or automation selections and provides informative error messages.
|
|
109
|
+
`;
|
|
75
110
|
static examples = [
|
|
76
111
|
"$ sf hardis:project:generate:bypass",
|
|
77
112
|
"$ sf hardis:project:generate:bypass --sObjects Account,Contact,Opportunity",
|
|
@@ -118,6 +153,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
118
153
|
.filter((s) => ALLOWED_AUTOMATIONS.includes(s));
|
|
119
154
|
}
|
|
120
155
|
// Generate global bypasses
|
|
156
|
+
uxLog(this, c.cyan(`Generating global bypasses...`));
|
|
121
157
|
this.generateFiles({ All: "All" }, ALLOWED_AUTOMATIONS);
|
|
122
158
|
// Handle prompts if needed
|
|
123
159
|
const promptsNeeded = [];
|
|
@@ -126,6 +162,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
126
162
|
type: "multiselect",
|
|
127
163
|
name: "sobjects",
|
|
128
164
|
message: "Select sObjects for bypass",
|
|
165
|
+
description: "Choose which sObjects should have automation bypass functionality",
|
|
129
166
|
choices: Object.entries(availableSObjects).map(([devName, label]) => ({
|
|
130
167
|
title: label,
|
|
131
168
|
value: devName,
|
|
@@ -137,6 +174,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
137
174
|
type: "multiselect",
|
|
138
175
|
name: "automations",
|
|
139
176
|
message: "Select automations to bypass",
|
|
177
|
+
description: "Choose which types of automation should be bypassed",
|
|
140
178
|
choices: ALLOWED_AUTOMATIONS.map((a) => ({ title: a, value: a })),
|
|
141
179
|
});
|
|
142
180
|
}
|
|
@@ -145,6 +183,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
145
183
|
type: "multiselect",
|
|
146
184
|
name: "applyTo",
|
|
147
185
|
message: "To which automations do you want to automatically apply the bypass?",
|
|
186
|
+
description: "Select which automation types should have automatic bypass logic applied",
|
|
148
187
|
choices: [
|
|
149
188
|
{ title: "Validation Rules", value: "applyToVrs" },
|
|
150
189
|
{ title: "Triggers", value: "applyToTriggers" },
|
|
@@ -156,6 +195,8 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
156
195
|
type: "select",
|
|
157
196
|
name: "elementSource",
|
|
158
197
|
message: "Where do you want to get the elements to apply bypass to?",
|
|
198
|
+
description: "Choose the source for retrieving automation elements",
|
|
199
|
+
placeholder: "Select source",
|
|
159
200
|
choices: [
|
|
160
201
|
{ title: "Retrieve from org (recommended)", value: "org" },
|
|
161
202
|
{ title: "Use local elements in the project", value: "local" },
|
|
@@ -188,11 +229,14 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
188
229
|
throw new SfError(c.red("ERROR: You must select at least one automation type."));
|
|
189
230
|
}
|
|
190
231
|
// Generate files and apply bypasses
|
|
232
|
+
uxLog(this, c.cyan(`Generating bypass files for selected sObjects and automations...`));
|
|
191
233
|
this.generateFiles(targetSObjects, targetAutomations);
|
|
192
234
|
if (applyToVrs) {
|
|
235
|
+
uxLog(this, c.cyan(`Applying bypass to Validation Rules...`));
|
|
193
236
|
await this.applyBypassToValidationRules(connection, targetSObjects);
|
|
194
237
|
}
|
|
195
238
|
if (applyToTriggers) {
|
|
239
|
+
uxLog(this, c.cyan(`Applying bypass to Triggers...`));
|
|
196
240
|
await this.applyBypassToTriggers(connection, targetSObjects);
|
|
197
241
|
}
|
|
198
242
|
return {
|
|
@@ -205,7 +249,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
205
249
|
Select Id, Label, DeveloperName, QualifiedApiName, DurableId, IsTriggerable, IsCustomizable, IsApexTriggerable
|
|
206
250
|
FROM EntityDefinition WHERE IsTriggerable = true AND IsCustomizable = true and IsCustomSetting = false ORDER BY DeveloperName`;
|
|
207
251
|
const results = await soqlQuery(sObjectsQuery, connection);
|
|
208
|
-
uxLog(this, `Found ${results.records.length} sObjects.`);
|
|
252
|
+
uxLog(this, c.grey(`Found ${results.records.length} sObjects.`));
|
|
209
253
|
return results;
|
|
210
254
|
}
|
|
211
255
|
async getFilteredSObjects(connection) {
|
|
@@ -222,7 +266,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
222
266
|
async queryTriggers(connection) {
|
|
223
267
|
const query = `SELECT Id, Name, Status, IsValid, Body, BodyCrc, TableEnumOrId, ManageableState From ApexTrigger WHERE ManageableState != 'installed'`;
|
|
224
268
|
const results = await soqlQueryTooling(query, connection);
|
|
225
|
-
uxLog(this, `Found ${results.records.length} Triggers.`);
|
|
269
|
+
uxLog(this, c.grey(`Found ${results.records.length} Triggers.`));
|
|
226
270
|
return results;
|
|
227
271
|
}
|
|
228
272
|
filterTriggerResults(triggerResults, sObjects) {
|
|
@@ -239,7 +283,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
239
283
|
.map((s) => `'${s}'`)
|
|
240
284
|
.join(", ")})`;
|
|
241
285
|
const results = await soqlQueryTooling(query, connection);
|
|
242
|
-
uxLog(this, `Found ${results.records.length} Validation Rules.`);
|
|
286
|
+
uxLog(this, c.grey(`Found ${results.records.length} Validation Rules.`));
|
|
243
287
|
return results;
|
|
244
288
|
}
|
|
245
289
|
// XML Generation
|
|
@@ -273,8 +317,8 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
273
317
|
fs.writeFileSync(customPermissionFile, this.generateXML("customPermission", sObject, automation), "utf-8");
|
|
274
318
|
fsExtra.ensureDirSync(path.dirname(permissionSetFile));
|
|
275
319
|
fs.writeFileSync(permissionSetFile, this.generateXML("permissionSet", sObject, automation), "utf-8");
|
|
276
|
-
uxLog(this, `Created: ${path.basename(customPermissionFile)} for ${sObject}`);
|
|
277
|
-
uxLog(this, `Created: ${path.basename(permissionSetFile)} for ${sObject}`);
|
|
320
|
+
uxLog(this, c.grey(`Created: ${path.basename(customPermissionFile)} for ${sObject}`));
|
|
321
|
+
uxLog(this, c.grey(`Created: ${path.basename(permissionSetFile)} for ${sObject}`));
|
|
278
322
|
}
|
|
279
323
|
generateFiles(targetSObjects, targetAutomations) {
|
|
280
324
|
Object.keys(targetSObjects).forEach((developerName) => {
|
|
@@ -375,10 +419,10 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
375
419
|
async applyBypassToValidationRules(connection, sObjects) {
|
|
376
420
|
const validationRuleRecords = await this.queryValidationRules(connection, sObjects);
|
|
377
421
|
if (!validationRuleRecords || validationRuleRecords.records.length === 0) {
|
|
378
|
-
uxLog(this, "No validation rules found for the specified sObjects.");
|
|
422
|
+
uxLog(this, c.grey("No validation rules found for the specified sObjects."));
|
|
379
423
|
return;
|
|
380
424
|
}
|
|
381
|
-
uxLog(this, `Processing ${validationRuleRecords.records.length} Validation Rules.`);
|
|
425
|
+
uxLog(this, c.grey(`Processing ${validationRuleRecords.records.length} Validation Rules.`));
|
|
382
426
|
const validationRulesTableReport = [];
|
|
383
427
|
const eligibleMetadataFilePaths = [];
|
|
384
428
|
if (this.retrieveFromOrg) {
|
|
@@ -399,7 +443,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
399
443
|
}
|
|
400
444
|
}
|
|
401
445
|
else {
|
|
402
|
-
uxLog(this, "No Validation Rule files found in the retrieved metadata chunk.");
|
|
446
|
+
uxLog(this, c.grey("No Validation Rule files found in the retrieved metadata chunk."));
|
|
403
447
|
}
|
|
404
448
|
}
|
|
405
449
|
}
|
|
@@ -411,7 +455,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
411
455
|
const filePath = await MetadataUtils.findMetaFileFromTypeAndName("ValidationRule", name);
|
|
412
456
|
if (filePath === null) {
|
|
413
457
|
// TODO: add to report instead of log
|
|
414
|
-
uxLog(this, `The validation rule ${name} for sObject ${sObject} does not have a corresponding metadata file locally. Skipping.`);
|
|
458
|
+
uxLog(this, c.grey(`The validation rule ${name} for sObject ${sObject} does not have a corresponding metadata file locally. Skipping.`));
|
|
415
459
|
}
|
|
416
460
|
else {
|
|
417
461
|
eligibleMetadataFilePaths.push({ filePath, sObject, name });
|
|
@@ -497,7 +541,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
497
541
|
const triggerResults = await this.queryTriggers(connection);
|
|
498
542
|
const filteredTriggersResults = this.filterTriggerResults(triggerResults, sObjects);
|
|
499
543
|
if (!filteredTriggersResults || filteredTriggersResults?.length === 0) {
|
|
500
|
-
uxLog(this, "No triggers found for the specified sObjects.");
|
|
544
|
+
uxLog(this, c.grey("No triggers found for the specified sObjects."));
|
|
501
545
|
return;
|
|
502
546
|
}
|
|
503
547
|
const triggerReport = [];
|
|
@@ -521,7 +565,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
521
565
|
}
|
|
522
566
|
}
|
|
523
567
|
else {
|
|
524
|
-
uxLog(this, "No Trigger files found in the retrieved metadata chunk.");
|
|
568
|
+
uxLog(this, c.grey("No Trigger files found in the retrieved metadata chunk."));
|
|
525
569
|
}
|
|
526
570
|
}
|
|
527
571
|
}
|
|
@@ -532,7 +576,7 @@ export default class HardisProjectGenerateBypass extends SfCommand {
|
|
|
532
576
|
const filePath = await MetadataUtils.findMetaFileFromTypeAndName("ApexTrigger", name);
|
|
533
577
|
if (filePath === null) {
|
|
534
578
|
// TODO: add to report instead of log
|
|
535
|
-
uxLog(this, `The trigger ${name} does not have a corresponding metadata file locally. Skipping.`);
|
|
579
|
+
uxLog(this, c.grey(`The trigger ${name} does not have a corresponding metadata file locally. Skipping.`));
|
|
536
580
|
}
|
|
537
581
|
else {
|
|
538
582
|
eligibleMetadataFilePaths.push({ filePath, name });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bypass.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/generate/bypass.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"bypass.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/generate/bypass.ts"],"names":[],"mappings":"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"}
|
|
@@ -91,6 +91,8 @@ Run \`npm install @mermaid-js/mermaid-cli --global\`
|
|
|
91
91
|
type: 'select',
|
|
92
92
|
name: 'before',
|
|
93
93
|
message: 'Please select BEFORE UPDATE commit',
|
|
94
|
+
description: 'Choose the commit representing the state before your changes',
|
|
95
|
+
placeholder: 'Select a commit',
|
|
94
96
|
choices: [...allChoices, ...[
|
|
95
97
|
{
|
|
96
98
|
title: "Calculate for all Flow states",
|
|
@@ -113,6 +115,8 @@ Run \`npm install @mermaid-js/mermaid-cli --global\`
|
|
|
113
115
|
type: 'select',
|
|
114
116
|
name: 'after',
|
|
115
117
|
message: 'Please select AFTER UPDATE commit',
|
|
118
|
+
description: 'Choose the commit representing the state after your changes',
|
|
119
|
+
placeholder: 'Select a commit',
|
|
116
120
|
choices: allChoices
|
|
117
121
|
});
|
|
118
122
|
this.commitAfter = commitAfterSelectRes.after;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"flow-git-diff.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/generate/flow-git-diff.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"flow-git-diff.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/generate/flow-git-diff.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,11 +6,37 @@ import * as path from 'path';
|
|
|
6
6
|
import { createTempDir, ensureGitRepository, git, gitCheckOutRemote, selectGitBranch, uxLog, } from '../../../../common/utils/index.js';
|
|
7
7
|
import { callSfdxGitDelta } from '../../../../common/utils/gitUtils.js';
|
|
8
8
|
import { prompts } from '../../../../common/utils/prompts.js';
|
|
9
|
+
import { WebSocketClient } from '../../../../common/websocketClient.js';
|
|
9
10
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
10
11
|
const messages = Messages.loadMessages('sfdx-hardis', 'org');
|
|
11
12
|
export default class GenerateGitDelta extends SfCommand {
|
|
12
13
|
static title = 'Generate Git Delta';
|
|
13
|
-
static description =
|
|
14
|
+
static description = `
|
|
15
|
+
## Command Behavior
|
|
16
|
+
|
|
17
|
+
**Generates a \`package.xml\` and \`destructiveChanges.xml\` representing the metadata differences between two Git commits.**
|
|
18
|
+
|
|
19
|
+
This command is a powerful tool for managing Salesforce metadata deployments by focusing only on the changes between specific points in your version control history. It leverages \`sfdx-git-delta\` to accurately identify added, modified, and deleted metadata components.
|
|
20
|
+
|
|
21
|
+
Key functionalities:
|
|
22
|
+
|
|
23
|
+
- **Commit-Based Comparison:** Allows you to specify a starting commit (\`--fromcommit\`) and an ending commit (\`--tocommit\`) to define the scope of the delta. If not provided, interactive prompts will guide you through selecting commits from your Git history.
|
|
24
|
+
- **Branch Selection:** You can specify a Git branch (\`--branch\`) to work with. If not provided, it will prompt you to select one.
|
|
25
|
+
- **\`package.xml\` Generation:** Creates a \`package.xml\` file that lists all metadata components that have been added or modified between the specified commits.
|
|
26
|
+
- **\`destructiveChanges.xml\` Generation:** Creates a \`destructiveChanges.xml\` file that lists all metadata components that have been deleted between the specified commits.
|
|
27
|
+
- **Temporary File Output:** The generated \`package.xml\` and \`destructiveChanges.xml\` files are placed in a temporary directory.
|
|
28
|
+
|
|
29
|
+
## Technical explanations
|
|
30
|
+
|
|
31
|
+
The command's technical implementation involves:
|
|
32
|
+
|
|
33
|
+
- **Git Integration:** Uses \`simple-git\` (\`git()\`) to interact with the Git repository, including fetching branches (\`git().fetch()\`), checking out branches (\`git().checkoutBranch()\`), and listing commit history (\`git().log()\`).
|
|
34
|
+
- **Interactive Prompts:** Leverages the \`prompts\` library to guide the user through selecting a Git branch and specific commits for delta generation if they are not provided as command-line arguments.
|
|
35
|
+
- **\`sfdx-git-delta\` Integration:** The core of the delta generation is handled by the \`callSfdxGitDelta\` utility function, which wraps the \`sfdx-git-delta\` tool. This tool performs the actual Git comparison and generates the \`package.xml\` and \`destructiveChanges.xml\` files.
|
|
36
|
+
- **Temporary Directory Management:** Uses \`createTempDir\` to create a temporary directory for storing the generated XML files, ensuring a clean working environment.
|
|
37
|
+
- **File System Operations:** Uses \`fs-extra\` to manage temporary files and directories.
|
|
38
|
+
- **User Feedback:** Provides clear messages to the user about the generated files and their locations.
|
|
39
|
+
`;
|
|
14
40
|
static examples = ['$ sf hardis:project:generate:gitdelta'];
|
|
15
41
|
static flags = {
|
|
16
42
|
branch: Flags.string({
|
|
@@ -78,6 +104,8 @@ export default class GenerateGitDelta extends SfCommand {
|
|
|
78
104
|
type: 'select',
|
|
79
105
|
name: 'value',
|
|
80
106
|
message: 'Please select the commit that you want to start from',
|
|
107
|
+
description: 'Choose the starting commit for the delta generation',
|
|
108
|
+
placeholder: 'Select a commit',
|
|
81
109
|
choices: [headItem, ...branchCommitsChoices],
|
|
82
110
|
});
|
|
83
111
|
fromCommit = commitFromResp.value.hash;
|
|
@@ -100,17 +128,28 @@ export default class GenerateGitDelta extends SfCommand {
|
|
|
100
128
|
type: 'select',
|
|
101
129
|
name: 'value',
|
|
102
130
|
message: 'Please select the commit hash that you want to go to',
|
|
131
|
+
description: 'Choose the ending commit for the delta generation',
|
|
132
|
+
placeholder: 'Select a commit',
|
|
103
133
|
choices: [currentItem, singleCommitChoice, ...branchCommitsChoices],
|
|
104
134
|
});
|
|
105
135
|
toCommit = commitToResp.value.hash;
|
|
106
136
|
}
|
|
107
137
|
// Generate package.xml & destructiveChanges.xml using sfdx-git-delta
|
|
138
|
+
uxLog(this, c.cyan(`Generating delta from commit ${c.bold(fromCommit)} to commit ${c.bold(toCommit)} on branch ${c.bold(gitBranch)}`));
|
|
108
139
|
const tmpDir = await createTempDir();
|
|
109
140
|
await callSfdxGitDelta(fromCommit || '', toCommit || '', tmpDir, { debug: this.debugMode });
|
|
110
141
|
const diffPackageXml = path.join(tmpDir, 'package', 'package.xml');
|
|
111
142
|
const diffDestructiveChangesXml = path.join(tmpDir, 'destructiveChanges', 'destructiveChanges.xml');
|
|
112
|
-
uxLog(this, c.
|
|
113
|
-
uxLog(this, c.
|
|
143
|
+
uxLog(this, c.grey(`Generated diff package.xml at ${c.green(diffPackageXml)}`));
|
|
144
|
+
uxLog(this, c.grey(`Generated diff destructiveChanges.xml at ${c.green(diffDestructiveChangesXml)}`));
|
|
145
|
+
if (WebSocketClient.isAliveWithLwcUI()) {
|
|
146
|
+
WebSocketClient.sendReportFileMessage(diffPackageXml, 'Git Delta package.xml');
|
|
147
|
+
WebSocketClient.sendReportFileMessage(diffDestructiveChangesXml, 'Git Delta destructiveChanges.xml');
|
|
148
|
+
}
|
|
149
|
+
else {
|
|
150
|
+
WebSocketClient.requestOpenFile(diffPackageXml);
|
|
151
|
+
WebSocketClient.requestOpenFile(diffDestructiveChangesXml);
|
|
152
|
+
}
|
|
114
153
|
// Return an object to be displayed with --json
|
|
115
154
|
return {
|
|
116
155
|
outputString: 'Generated package.xml',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gitdelta.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/generate/gitdelta.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAE5C,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,GAAG,EACH,iBAAiB,EACjB,eAAe,EACf,KAAK,GACN,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,gBAAgB,EAAE,MAAM,sCAAsC,CAAC;AACxE,OAAO,EAAE,OAAO,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"gitdelta.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/generate/gitdelta.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,7 +9,29 @@ Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
|
9
9
|
const messages = Messages.loadMessages('sfdx-hardis', 'org');
|
|
10
10
|
export default class Lint extends SfCommand {
|
|
11
11
|
static title = 'Lint';
|
|
12
|
-
static description =
|
|
12
|
+
static description = `## Command Behavior
|
|
13
|
+
|
|
14
|
+
**Applies syntactic analysis (linting) to your repository sources using Mega-Linter, ensuring code quality and adherence to coding standards.**
|
|
15
|
+
|
|
16
|
+
This command integrates Mega-Linter, a comprehensive linter orchestrator, into your Salesforce DX project. It helps identify and fix code style violations, potential bugs, and other issues across various file types relevant to Salesforce development.
|
|
17
|
+
|
|
18
|
+
Key functionalities:
|
|
19
|
+
|
|
20
|
+
- **Automated Linting:** Runs a suite of linters configured for Salesforce projects.
|
|
21
|
+
- **Fixing Issues (\`--fix\` flag):** Automatically attempts to fix detected linting issues, saving manual effort.
|
|
22
|
+
- **Configuration Management:** If \`.mega-linter.yml\` is not found, it guides you through the initial setup of Mega-Linter, prompting for the Salesforce flavor.
|
|
23
|
+
- **CI/CD Integration:** Designed to be used in CI/CD pipelines to enforce code quality gates.
|
|
24
|
+
|
|
25
|
+
## Technical explanations
|
|
26
|
+
|
|
27
|
+
The command's technical implementation involves:
|
|
28
|
+
|
|
29
|
+
- **Mega-Linter Integration:** It leverages the \`mega-linter-runner\` library to execute Mega-Linter.
|
|
30
|
+
- **Configuration Check:** Before running, it checks for the presence of \`.mega-linter.yml\`. If not found and not in a CI environment, it initiates an interactive setup process using \`MegaLinterRunner().run({ install: true })\`.
|
|
31
|
+
- **Linter Execution:** It calls \`MegaLinterRunner().run(megaLinterOptions)\` with the \`salesforce\` flavor and the \`fix\` flag (if provided).
|
|
32
|
+
- **Exit Code Handling:** The \`process.exitCode\` is set based on the Mega-Linter's exit status, allowing CI/CD pipelines to react to linting failures.
|
|
33
|
+
- **User Feedback:** Provides clear messages about the success or failure of the linting process.
|
|
34
|
+
`;
|
|
13
35
|
static examples = ['$ sf hardis:project:lint', '$ sf hardis:project:lint --fix'];
|
|
14
36
|
static flags = {
|
|
15
37
|
fix: Flags.boolean({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../../src/commands/hardis/project/lint.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,+BAA+B,EAAE,MAAM,6BAA6B,CAAC;AAChG,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,iCAAiC,CAAC;AAEnE,QAAQ,CAAC,kCAAkC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC7D,MAAM,QAAQ,GAAG,QAAQ,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAE7D,MAAM,CAAC,OAAO,OAAO,IAAK,SAAQ,SAAc;IACvC,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC;IAEtB,MAAM,CAAC,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"lint.js","sourceRoot":"","sources":["../../../../src/commands/hardis/project/lint.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import { uxLog } from '../../../../common/utils/index.js';
|
|
|
5
5
|
import { parseXmlFile } from '../../../../common/utils/xmlUtils.js';
|
|
6
6
|
import { getConfig } from '../../../../config/index.js';
|
|
7
7
|
import { glob } from 'glob';
|
|
8
|
-
import { basename } from 'path';
|
|
9
8
|
import c from 'chalk';
|
|
10
9
|
import { GLOB_IGNORE_PATTERNS } from '../../../../common/utils/projectUtils.js';
|
|
11
10
|
Messages.importMessagesDirectoryFromMetaUrl(import.meta.url);
|
|
@@ -93,10 +92,19 @@ $ sf hardis:project.metadata:findduplicates -f "force-app/main/default/**/*.xml"
|
|
|
93
92
|
uxLog(this, c.cyan(`Start finding duplicate values in XML metadata files.`));
|
|
94
93
|
await this.initConfig();
|
|
95
94
|
const filesWithDuplicates = await this.findDuplicates(flags);
|
|
96
|
-
uxLog(this, c.cyan(
|
|
95
|
+
uxLog(this, c.cyan("Summary"));
|
|
97
96
|
if (filesWithDuplicates.length > 0) {
|
|
97
|
+
const duplicatesString = filesWithDuplicates
|
|
98
|
+
.map((file) => {
|
|
99
|
+
return `${file.file}\n - Key : ${file.key}\n - Values : ${file.duplicates.join(', ')}`;
|
|
100
|
+
})
|
|
101
|
+
.join('\n');
|
|
102
|
+
uxLog(this, c.red(`Found ${filesWithDuplicates.length} files with duplicate values\n${duplicatesString}`));
|
|
98
103
|
process.exitCode = 1;
|
|
99
104
|
}
|
|
105
|
+
else {
|
|
106
|
+
uxLog(this, c.green('No duplicate values found.'));
|
|
107
|
+
}
|
|
100
108
|
return filesWithDuplicates;
|
|
101
109
|
}
|
|
102
110
|
async initConfig() {
|
|
@@ -119,6 +127,10 @@ $ sf hardis:project.metadata:findduplicates -f "force-app/main/default/**/*.xml"
|
|
|
119
127
|
// Extract given metadata type based on filename using type-meta.xml
|
|
120
128
|
// For example PersonAccount.layout-meta.xml returns layout and Admin.profile-meta.xml returns profile
|
|
121
129
|
const filenameRegex = /\w*\.(\w*)-meta.xml/;
|
|
130
|
+
if (!inputFile.match(filenameRegex)) {
|
|
131
|
+
uxLog(this, c.yellow(`Filename ${inputFile} does not match expected pattern, skipping.`));
|
|
132
|
+
continue;
|
|
133
|
+
}
|
|
122
134
|
const type = inputFile.match(filenameRegex)[1];
|
|
123
135
|
// Check if given metadata type has unicity rules
|
|
124
136
|
const uniqueKeys = Find.metadataDuplicateFindKeys[type];
|
|
@@ -133,6 +145,10 @@ $ sf hardis:project.metadata:findduplicates -f "force-app/main/default/**/*.xml"
|
|
|
133
145
|
uniqueKeys.forEach((key) => {
|
|
134
146
|
// Traverse the file down to the key based on the fragments separated by . (dots), abort if not found
|
|
135
147
|
const allProps = key.split('.');
|
|
148
|
+
if (!file || !allProps[0] || !file[allProps[0]]) {
|
|
149
|
+
uxLog(this, c.yellow(`Key ${key} not found in file ${inputFile}`));
|
|
150
|
+
return;
|
|
151
|
+
}
|
|
136
152
|
const valuesFound = this.traverseDown(file, allProps[0], allProps, []);
|
|
137
153
|
// https://stackoverflow.com/a/840808
|
|
138
154
|
const duplicates = valuesFound.filter((e, i, a) => a.indexOf(e) !== i);
|
|
@@ -142,10 +158,6 @@ $ sf hardis:project.metadata:findduplicates -f "force-app/main/default/**/*.xml"
|
|
|
142
158
|
key,
|
|
143
159
|
duplicates,
|
|
144
160
|
});
|
|
145
|
-
uxLog(this, c.red(`Duplicate values in ${basename(inputFile)}
|
|
146
|
-
- Key : ${key}
|
|
147
|
-
- Values : ${duplicates.join(', ')}
|
|
148
|
-
`));
|
|
149
161
|
}
|
|
150
162
|
});
|
|
151
163
|
}
|
|
@@ -159,7 +171,7 @@ $ sf hardis:project.metadata:findduplicates -f "force-app/main/default/**/*.xml"
|
|
|
159
171
|
const nextProp = allProps[allProps.indexOf(currentProp) + 1];
|
|
160
172
|
// If we're at the end of property path (A.B.C -> parent = A.B, currentProp = C, nextProp = undefined) we add the
|
|
161
173
|
// value contained in A.B.C
|
|
162
|
-
if (nextProp === undefined) {
|
|
174
|
+
if (nextProp === undefined && parent[currentProp]) {
|
|
163
175
|
results.push(parent[currentProp][0]);
|
|
164
176
|
}
|
|
165
177
|
// If A.B is an array, we'll traverse A.B.C1, A.B.C2, etc...
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"findduplicates.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/metadata/findduplicates.ts"],"names":[],"mappings":"AAAA,wBAAwB;AACxB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AACxD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"findduplicates.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/metadata/findduplicates.ts"],"names":[],"mappings":"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"}
|
|
@@ -160,6 +160,7 @@ export default class ScratchCreate extends SfCommand {
|
|
|
160
160
|
name: 'value',
|
|
161
161
|
message: c.cyanBright(`You are about to reuse scratch org ${c.green(this.scratchOrgAlias)}. Are you sure that's what you want to do ?\n${c.grey('(if not, run again hardis:work:new or use hardis:scratch:create --forcenew)')}`),
|
|
162
162
|
default: false,
|
|
163
|
+
description: 'Confirm that you want to reuse this existing scratch org instead of creating a new one',
|
|
163
164
|
});
|
|
164
165
|
if (checkRes.value === false) {
|
|
165
166
|
process.exit(0);
|
|
@@ -233,7 +234,7 @@ export default class ScratchCreate extends SfCommand {
|
|
|
233
234
|
debug: this.debugMode,
|
|
234
235
|
});
|
|
235
236
|
// Trigger a status refresh on VsCode WebSocket Client
|
|
236
|
-
WebSocketClient.
|
|
237
|
+
WebSocketClient.sendRefreshStatusMessage();
|
|
237
238
|
}
|
|
238
239
|
return;
|
|
239
240
|
}
|
|
@@ -278,7 +279,7 @@ export default class ScratchCreate extends SfCommand {
|
|
|
278
279
|
scratchOrgPassword: this.scratchOrgPassword,
|
|
279
280
|
});
|
|
280
281
|
// Trigger a status refresh on VsCode WebSocket Client
|
|
281
|
-
WebSocketClient.
|
|
282
|
+
WebSocketClient.sendRefreshStatusMessage();
|
|
282
283
|
if (isCI || this.pool === true) {
|
|
283
284
|
// Try to store sfdxAuthUrl for scratch org reuse during CI
|
|
284
285
|
const displayOrgCommand = `sf org display -o ${this.scratchOrgAlias} --verbose`;
|