sfdx-hardis 6.3.3 → 6.3.4-beta202509081032.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 +3 -0
- package/README.md +1 -0
- package/lib/commands/hardis/project/deploy/smart.js +6 -0
- package/lib/commands/hardis/project/deploy/smart.js.map +1 -1
- package/lib/common/utils/deltaUtils.d.ts +1 -0
- package/lib/common/utils/deltaUtils.js +138 -0
- package/lib/common/utils/deltaUtils.js.map +1 -0
- package/oclif.manifest.json +511 -511
- package/package.json +1 -1
package/oclif.manifest.json
CHANGED
|
@@ -57,13 +57,12 @@
|
|
|
57
57
|
"world:hello"
|
|
58
58
|
]
|
|
59
59
|
},
|
|
60
|
-
"hardis:
|
|
60
|
+
"hardis:cache:clear": {
|
|
61
61
|
"aliases": [],
|
|
62
62
|
"args": {},
|
|
63
|
-
"description": "\n## Command Behavior\n\n**
|
|
63
|
+
"description": "\n## Command Behavior\n\n**Clears the local cache generated by the sfdx-hardis plugin.**\n\nThis command is designed to remove temporary files, stored configurations, and other cached data that sfdx-hardis uses to optimize its operations. Clearing the cache can be beneficial for:\n\n- **Troubleshooting:** Resolving unexpected behavior or inconsistencies.\n- **Disk Space Management:** Freeing up storage on your local machine.\n- **Ensuring Fresh Data:** Guaranteeing that the plugin operates with the most current data and configurations.\n\n## Technical explanations\n\nThe command's technical implementation is straightforward:\n\n- **Direct Function Call:** It directly invokes the `clearCache()` function, which is imported from \buri../../../common/cache/index.js\buri.\n- **Cache Management Logic:** The \buriclearCache()` function encapsulates the logic for identifying and removing the specific files and directories that constitute the sfdx-hardis cache.\n",
|
|
64
64
|
"examples": [
|
|
65
|
-
"$ sf hardis:
|
|
66
|
-
"CI=true sf hardis:auth:login"
|
|
65
|
+
"$ sf hardis:cache:clear"
|
|
67
66
|
],
|
|
68
67
|
"flags": {
|
|
69
68
|
"json": {
|
|
@@ -81,28 +80,6 @@
|
|
|
81
80
|
"multiple": false,
|
|
82
81
|
"type": "option"
|
|
83
82
|
},
|
|
84
|
-
"instanceurl": {
|
|
85
|
-
"char": "r",
|
|
86
|
-
"description": "URL of org instance",
|
|
87
|
-
"name": "instanceurl",
|
|
88
|
-
"hasDynamicHelp": false,
|
|
89
|
-
"multiple": false,
|
|
90
|
-
"type": "option"
|
|
91
|
-
},
|
|
92
|
-
"devhub": {
|
|
93
|
-
"char": "h",
|
|
94
|
-
"description": "Also connect associated DevHub",
|
|
95
|
-
"name": "devhub",
|
|
96
|
-
"allowNo": false,
|
|
97
|
-
"type": "boolean"
|
|
98
|
-
},
|
|
99
|
-
"scratchorg": {
|
|
100
|
-
"char": "s",
|
|
101
|
-
"description": "Scratch org",
|
|
102
|
-
"name": "scratchorg",
|
|
103
|
-
"allowNo": false,
|
|
104
|
-
"type": "boolean"
|
|
105
|
-
},
|
|
106
83
|
"debug": {
|
|
107
84
|
"char": "d",
|
|
108
85
|
"description": "Activate debug mode (more logs)",
|
|
@@ -126,38 +103,42 @@
|
|
|
126
103
|
},
|
|
127
104
|
"hasDynamicHelp": false,
|
|
128
105
|
"hiddenAliases": [],
|
|
129
|
-
"id": "hardis:
|
|
106
|
+
"id": "hardis:cache:clear",
|
|
130
107
|
"pluginAlias": "sfdx-hardis",
|
|
131
108
|
"pluginName": "sfdx-hardis",
|
|
132
109
|
"pluginType": "core",
|
|
133
110
|
"strict": true,
|
|
134
111
|
"enableJsonFlag": true,
|
|
135
|
-
"title": "
|
|
112
|
+
"title": "Clear sfdx-hardis cache",
|
|
113
|
+
"uiConfig": {
|
|
114
|
+
"hide": true
|
|
115
|
+
},
|
|
136
116
|
"requiresProject": false,
|
|
137
117
|
"isESM": true,
|
|
138
118
|
"relativePath": [
|
|
139
119
|
"lib",
|
|
140
120
|
"commands",
|
|
141
121
|
"hardis",
|
|
142
|
-
"
|
|
143
|
-
"
|
|
122
|
+
"cache",
|
|
123
|
+
"clear.js"
|
|
144
124
|
],
|
|
145
125
|
"aliasPermutations": [],
|
|
146
126
|
"permutations": [
|
|
147
|
-
"hardis:
|
|
148
|
-
"
|
|
149
|
-
"
|
|
150
|
-
"hardis:
|
|
151
|
-
"
|
|
152
|
-
"
|
|
127
|
+
"hardis:cache:clear",
|
|
128
|
+
"cache:hardis:clear",
|
|
129
|
+
"cache:clear:hardis",
|
|
130
|
+
"hardis:clear:cache",
|
|
131
|
+
"clear:hardis:cache",
|
|
132
|
+
"clear:cache:hardis"
|
|
153
133
|
]
|
|
154
134
|
},
|
|
155
|
-
"hardis:
|
|
135
|
+
"hardis:auth:login": {
|
|
156
136
|
"aliases": [],
|
|
157
137
|
"args": {},
|
|
158
|
-
"description": "\n## Command Behavior\n\n**
|
|
138
|
+
"description": "\n## Command Behavior\n\n**Authenticates to a Salesforce org, primarily designed for CI/CD workflows.**\n\nThis command facilitates secure and automated logins to Salesforce organizations within continuous integration and continuous delivery pipelines. It leverages pre-configured authentication details, ensuring that CI/CD processes can interact with Salesforce without manual intervention.\n\nKey aspects:\n\n- **Configuration-Driven:** It relies on authentication variables and files set up by dedicated configuration commands:\n - For CI/CD repositories: [Configure Org CI Authentication](https://sfdx-hardis.cloudity.com/hardis/project/configure/auth/)\n - For Monitoring repositories: [Configure Org Monitoring](https://sfdx-hardis.cloudity.com/hardis/org/configure/monitoring/)\n- **Technical Org Support:** Supports authentication to a 'technical org' (e.g., for calling Agentforce from another org) by utilizing the `SFDX_AUTH_URL_TECHNICAL_ORG` environment variable. If this variable is set, the command authenticates to this org with the alias `TECHNICAL_ORG`.\n\nTo obtain the `SFDX_AUTH_URL_TECHNICAL_ORG` value, you can run `sf org display --verbose --json` and copy the `sfdxAuthUrl` field from the output.\n\n<details markdown=\"1\">\n<summary>Technical explanations</summary>\n\nThe command's technical flow involves:\n\n- **Flag Parsing:** It parses command-line flags such as `instanceurl`, `devhub`, `scratchorg`, and `debug` to determine the authentication context.\n- **Authentication Hook:** It triggers an internal authentication hook (`this.config.runHook('auth', ...`)) which is responsible for executing the actual authentication logic based on the provided flags (e.g., whether it's a Dev Hub or a scratch org).\n- **Environment Variable Check:** It checks for the presence of `SFDX_AUTH_URL_TECHNICAL_ORG` or `TECHNICAL_ORG_ALIAS` environment variables.\n- **`authOrg` Utility:** If a technical org is configured, it calls the `authOrg` utility function to perform the authentication for that specific org, ensuring it's connected and available for subsequent operations.\n- **Salesforce CLI Integration:** It integrates with the Salesforce CLI's authentication mechanisms to establish and manage org connections.\n</details>\n",
|
|
159
139
|
"examples": [
|
|
160
|
-
"$ sf hardis:
|
|
140
|
+
"$ sf hardis:auth:login",
|
|
141
|
+
"CI=true sf hardis:auth:login"
|
|
161
142
|
],
|
|
162
143
|
"flags": {
|
|
163
144
|
"json": {
|
|
@@ -175,6 +156,28 @@
|
|
|
175
156
|
"multiple": false,
|
|
176
157
|
"type": "option"
|
|
177
158
|
},
|
|
159
|
+
"instanceurl": {
|
|
160
|
+
"char": "r",
|
|
161
|
+
"description": "URL of org instance",
|
|
162
|
+
"name": "instanceurl",
|
|
163
|
+
"hasDynamicHelp": false,
|
|
164
|
+
"multiple": false,
|
|
165
|
+
"type": "option"
|
|
166
|
+
},
|
|
167
|
+
"devhub": {
|
|
168
|
+
"char": "h",
|
|
169
|
+
"description": "Also connect associated DevHub",
|
|
170
|
+
"name": "devhub",
|
|
171
|
+
"allowNo": false,
|
|
172
|
+
"type": "boolean"
|
|
173
|
+
},
|
|
174
|
+
"scratchorg": {
|
|
175
|
+
"char": "s",
|
|
176
|
+
"description": "Scratch org",
|
|
177
|
+
"name": "scratchorg",
|
|
178
|
+
"allowNo": false,
|
|
179
|
+
"type": "boolean"
|
|
180
|
+
},
|
|
178
181
|
"debug": {
|
|
179
182
|
"char": "d",
|
|
180
183
|
"description": "Activate debug mode (more logs)",
|
|
@@ -198,33 +201,30 @@
|
|
|
198
201
|
},
|
|
199
202
|
"hasDynamicHelp": false,
|
|
200
203
|
"hiddenAliases": [],
|
|
201
|
-
"id": "hardis:
|
|
204
|
+
"id": "hardis:auth:login",
|
|
202
205
|
"pluginAlias": "sfdx-hardis",
|
|
203
206
|
"pluginName": "sfdx-hardis",
|
|
204
207
|
"pluginType": "core",
|
|
205
208
|
"strict": true,
|
|
206
209
|
"enableJsonFlag": true,
|
|
207
|
-
"title": "
|
|
208
|
-
"uiConfig": {
|
|
209
|
-
"hide": true
|
|
210
|
-
},
|
|
210
|
+
"title": "Login",
|
|
211
211
|
"requiresProject": false,
|
|
212
212
|
"isESM": true,
|
|
213
213
|
"relativePath": [
|
|
214
214
|
"lib",
|
|
215
215
|
"commands",
|
|
216
216
|
"hardis",
|
|
217
|
-
"
|
|
218
|
-
"
|
|
217
|
+
"auth",
|
|
218
|
+
"login.js"
|
|
219
219
|
],
|
|
220
220
|
"aliasPermutations": [],
|
|
221
221
|
"permutations": [
|
|
222
|
-
"hardis:
|
|
223
|
-
"
|
|
224
|
-
"
|
|
225
|
-
"hardis:
|
|
226
|
-
"
|
|
227
|
-
"
|
|
222
|
+
"hardis:auth:login",
|
|
223
|
+
"auth:hardis:login",
|
|
224
|
+
"auth:login:hardis",
|
|
225
|
+
"hardis:login:auth",
|
|
226
|
+
"login:hardis:auth",
|
|
227
|
+
"login:auth:hardis"
|
|
228
228
|
]
|
|
229
229
|
},
|
|
230
230
|
"hardis:config:get": {
|
|
@@ -5800,15 +5800,13 @@
|
|
|
5800
5800
|
"import:files:org:hardis"
|
|
5801
5801
|
]
|
|
5802
5802
|
},
|
|
5803
|
-
"hardis:org:
|
|
5803
|
+
"hardis:org:fix:listviewmine": {
|
|
5804
5804
|
"aliases": [],
|
|
5805
5805
|
"args": {},
|
|
5806
|
-
"description": "
|
|
5806
|
+
"description": "Fix listviews whose scope Mine has been replaced by Everything\n\n[](https://nicolas.vuillamy.fr/invalid-scope-mine-not-allowed-deploy-your-listviews-anyway-443aceca8ac7)\n\nList of ListViews can be:\n\n- read from .sfdx-hardis.yml file in property **listViewsToSetToMine**\n- sent in argument listviews\n\nNote: property **listViewsToSetToMine** can be auto-generated by command hardis:work:save if .sfdx-hardis.yml contains the following configuration\n\n```yaml\nautoCleanTypes:\n - listViewsMine\n```\n\n- Example of sfdx-hardis.yml property `listViewsToSetToMine`:\n\n```yaml\nlistViewsToSetToMine:\n - \"force-app/main/default/objects/Operation__c/listViews/MyCurrentOperations.listView-meta.xml\"\n - \"force-app/main/default/objects/Operation__c/listViews/MyFinalizedOperations.listView-meta.xml\"\n - \"force-app/main/default/objects/Opportunity/listViews/Default_Opportunity_Pipeline.listView-meta.xml\"\n - \"force-app/main/default/objects/Opportunity/listViews/MyCurrentSubscriptions.listView-meta.xml\"\n - \"force-app/main/default/objects/Opportunity/listViews/MySubscriptions.listView-meta.xml\"\n - \"force-app/main/default/objects/Account/listViews/MyActivePartners.listView-meta.xml\"\n```\n\n- If manually written, this could also be:\n\n```yaml\nlistViewsToSetToMine:\n - \"Operation__c:MyCurrentOperations\"\n - \"Operation__c:MyFinalizedOperations\"\n - \"Opportunity:Default_Opportunity_Pipeline\"\n - \"Opportunity:MyCurrentSubscriptions\"\n - \"Opportunity:MySubscriptions\"\n - \"Account:MyActivePartners\"\n```\n\nTroubleshooting: if you need to run this command from an alpine-linux based docker image, use this workaround in your dockerfile:\n\n```dockerfile\n# Do not use puppeteer embedded chromium\nRUN apk add --update --no-cache chromium\nENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=\"true\"\nENV CHROMIUM_PATH=\"/usr/bin/chromium-browser\"\nENV PUPPETEER_EXECUTABLE_PATH=\"$\\{CHROMIUM_PATH}\" // remove \\ before {\n```\n",
|
|
5807
5807
|
"examples": [
|
|
5808
|
-
"$ sf hardis:org:
|
|
5809
|
-
"$ sf hardis:org:
|
|
5810
|
-
"$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com,bertrand@titi.com",
|
|
5811
|
-
"$ sf hardis:org:diagnose:audittrail --lastndays 5"
|
|
5808
|
+
"$ sf hardis:org:fix:listviewmine",
|
|
5809
|
+
"$ sf hardis:org:fix:listviewmine --listviews Opportunity:MySubscriptions,Account:MyActivePartners"
|
|
5812
5810
|
],
|
|
5813
5811
|
"flags": {
|
|
5814
5812
|
"json": {
|
|
@@ -5826,26 +5824,10 @@
|
|
|
5826
5824
|
"multiple": false,
|
|
5827
5825
|
"type": "option"
|
|
5828
5826
|
},
|
|
5829
|
-
"
|
|
5830
|
-
"char": "
|
|
5831
|
-
"description": "Comma-separated list of
|
|
5832
|
-
"name": "
|
|
5833
|
-
"hasDynamicHelp": false,
|
|
5834
|
-
"multiple": false,
|
|
5835
|
-
"type": "option"
|
|
5836
|
-
},
|
|
5837
|
-
"lastndays": {
|
|
5838
|
-
"char": "t",
|
|
5839
|
-
"description": "Number of days to extract from today (included)",
|
|
5840
|
-
"name": "lastndays",
|
|
5841
|
-
"hasDynamicHelp": false,
|
|
5842
|
-
"multiple": false,
|
|
5843
|
-
"type": "option"
|
|
5844
|
-
},
|
|
5845
|
-
"outputfile": {
|
|
5846
|
-
"char": "f",
|
|
5847
|
-
"description": "Force the path and name of output report file. Must end with .csv",
|
|
5848
|
-
"name": "outputfile",
|
|
5827
|
+
"listviews": {
|
|
5828
|
+
"char": "l",
|
|
5829
|
+
"description": "Comma-separated list of listviews following format Object:ListViewName\nExample: Contact:MyContacts,Contact:MyActiveContacts,Opportunity:MYClosedOpportunities",
|
|
5830
|
+
"name": "listviews",
|
|
5849
5831
|
"hasDynamicHelp": false,
|
|
5850
5832
|
"multiple": false,
|
|
5851
5833
|
"type": "option"
|
|
@@ -5888,57 +5870,59 @@
|
|
|
5888
5870
|
},
|
|
5889
5871
|
"hasDynamicHelp": true,
|
|
5890
5872
|
"hiddenAliases": [],
|
|
5891
|
-
"id": "hardis:org:
|
|
5873
|
+
"id": "hardis:org:fix:listviewmine",
|
|
5892
5874
|
"pluginAlias": "sfdx-hardis",
|
|
5893
5875
|
"pluginName": "sfdx-hardis",
|
|
5894
5876
|
"pluginType": "core",
|
|
5895
5877
|
"strict": true,
|
|
5896
5878
|
"enableJsonFlag": true,
|
|
5897
|
-
"title": "
|
|
5898
|
-
"requiresProject":
|
|
5879
|
+
"title": "Fix listviews with ",
|
|
5880
|
+
"requiresProject": true,
|
|
5899
5881
|
"isESM": true,
|
|
5900
5882
|
"relativePath": [
|
|
5901
5883
|
"lib",
|
|
5902
5884
|
"commands",
|
|
5903
5885
|
"hardis",
|
|
5904
5886
|
"org",
|
|
5905
|
-
"
|
|
5906
|
-
"
|
|
5887
|
+
"fix",
|
|
5888
|
+
"listviewmine.js"
|
|
5907
5889
|
],
|
|
5908
5890
|
"aliasPermutations": [],
|
|
5909
5891
|
"permutations": [
|
|
5910
|
-
"hardis:org:
|
|
5911
|
-
"org:hardis:
|
|
5912
|
-
"org:
|
|
5913
|
-
"org:
|
|
5914
|
-
"hardis:
|
|
5915
|
-
"
|
|
5916
|
-
"
|
|
5917
|
-
"
|
|
5918
|
-
"hardis:
|
|
5919
|
-
"
|
|
5920
|
-
"
|
|
5921
|
-
"
|
|
5922
|
-
"hardis:org:
|
|
5923
|
-
"org:hardis:
|
|
5924
|
-
"org:
|
|
5925
|
-
"org:
|
|
5926
|
-
"hardis:
|
|
5927
|
-
"
|
|
5928
|
-
"
|
|
5929
|
-
"
|
|
5930
|
-
"hardis:
|
|
5931
|
-
"
|
|
5932
|
-
"
|
|
5933
|
-
"
|
|
5892
|
+
"hardis:org:fix:listviewmine",
|
|
5893
|
+
"org:hardis:fix:listviewmine",
|
|
5894
|
+
"org:fix:hardis:listviewmine",
|
|
5895
|
+
"org:fix:listviewmine:hardis",
|
|
5896
|
+
"hardis:fix:org:listviewmine",
|
|
5897
|
+
"fix:hardis:org:listviewmine",
|
|
5898
|
+
"fix:org:hardis:listviewmine",
|
|
5899
|
+
"fix:org:listviewmine:hardis",
|
|
5900
|
+
"hardis:fix:listviewmine:org",
|
|
5901
|
+
"fix:hardis:listviewmine:org",
|
|
5902
|
+
"fix:listviewmine:hardis:org",
|
|
5903
|
+
"fix:listviewmine:org:hardis",
|
|
5904
|
+
"hardis:org:listviewmine:fix",
|
|
5905
|
+
"org:hardis:listviewmine:fix",
|
|
5906
|
+
"org:listviewmine:hardis:fix",
|
|
5907
|
+
"org:listviewmine:fix:hardis",
|
|
5908
|
+
"hardis:listviewmine:org:fix",
|
|
5909
|
+
"listviewmine:hardis:org:fix",
|
|
5910
|
+
"listviewmine:org:hardis:fix",
|
|
5911
|
+
"listviewmine:org:fix:hardis",
|
|
5912
|
+
"hardis:listviewmine:fix:org",
|
|
5913
|
+
"listviewmine:hardis:fix:org",
|
|
5914
|
+
"listviewmine:fix:hardis:org",
|
|
5915
|
+
"listviewmine:fix:org:hardis"
|
|
5934
5916
|
]
|
|
5935
5917
|
},
|
|
5936
|
-
"hardis:org:
|
|
5918
|
+
"hardis:org:generate:packagexmlfull": {
|
|
5937
5919
|
"aliases": [],
|
|
5938
5920
|
"args": {},
|
|
5939
|
-
"description": "\n## Command Behavior\n\n**
|
|
5921
|
+
"description": "\n## Command Behavior\n\n**Generates a comprehensive `package.xml` file for a Salesforce org, including all metadata components, even managed ones.**\n\nThis command is essential for various Salesforce development and administration tasks, especially when you need a complete snapshot of an org's metadata. It goes beyond typical source tracking by including managed package components, which is crucial for understanding the full metadata footprint of an org.\n\nKey functionalities:\n\n- **Full Org Metadata Retrieval:** Connects to a specified Salesforce org (or prompts for one if not provided) and retrieves a complete list of all metadata types and their members.\n- **Managed Package Inclusion:** Unlike standard source retrieval, this command explicitly includes metadata from managed packages, providing a truly comprehensive `package.xml`.\n- **Customizable Output:** Allows you to specify the output file path for the generated `package.xml`.\n- **Interactive Org Selection:** If no target org is specified, it interactively prompts the user to choose an org. (or use --no-prompt to skip this step)\n\n<details markdown=\"1\">\n<summary>Technical explanations</summary>\n\nThe command's technical implementation involves:\n\n- **Salesforce Metadata API Interaction:** It leverages the Salesforce Metadata API to list all available metadata types and then retrieve all components for each type.\n- **`buildOrgManifest` Utility:** The core logic for querying the org's metadata and constructing the `package.xml` is encapsulated within the `buildOrgManifest` utility function.\n- **XML Generation:** It dynamically builds the XML structure of the `package.xml` file, including the `types` and `members` elements for all retrieved metadata.\n- **File System Operations:** It writes the generated `package.xml` file to the specified output path.\n- **Interactive Prompts:** Uses `promptOrgUsernameDefault` to guide the user in selecting the target Salesforce org.\n</details>\n",
|
|
5940
5922
|
"examples": [
|
|
5941
|
-
"$ sf hardis:org:
|
|
5923
|
+
"$ sf hardis:org:generate:packagexmlfull",
|
|
5924
|
+
"$ sf hardis:org:generate:packagexmlfull --outputfile /tmp/packagexmlfull.xml",
|
|
5925
|
+
"$ sf hardis:org:generate:packagexmlfull --target-org nico@example.com"
|
|
5942
5926
|
],
|
|
5943
5927
|
"flags": {
|
|
5944
5928
|
"json": {
|
|
@@ -5956,6 +5940,13 @@
|
|
|
5956
5940
|
"multiple": false,
|
|
5957
5941
|
"type": "option"
|
|
5958
5942
|
},
|
|
5943
|
+
"outputfile": {
|
|
5944
|
+
"description": "Output package.xml file",
|
|
5945
|
+
"name": "outputfile",
|
|
5946
|
+
"hasDynamicHelp": false,
|
|
5947
|
+
"multiple": false,
|
|
5948
|
+
"type": "option"
|
|
5949
|
+
},
|
|
5959
5950
|
"debug": {
|
|
5960
5951
|
"char": "d",
|
|
5961
5952
|
"description": "Activate debug mode (more logs)",
|
|
@@ -5963,6 +5954,13 @@
|
|
|
5963
5954
|
"allowNo": false,
|
|
5964
5955
|
"type": "boolean"
|
|
5965
5956
|
},
|
|
5957
|
+
"no-prompt": {
|
|
5958
|
+
"char": "n",
|
|
5959
|
+
"description": "Do not prompt for org username, use the default one",
|
|
5960
|
+
"name": "no-prompt",
|
|
5961
|
+
"allowNo": false,
|
|
5962
|
+
"type": "boolean"
|
|
5963
|
+
},
|
|
5966
5964
|
"websocket": {
|
|
5967
5965
|
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
5968
5966
|
"name": "websocket",
|
|
@@ -5994,13 +5992,13 @@
|
|
|
5994
5992
|
},
|
|
5995
5993
|
"hasDynamicHelp": true,
|
|
5996
5994
|
"hiddenAliases": [],
|
|
5997
|
-
"id": "hardis:org:
|
|
5995
|
+
"id": "hardis:org:generate:packagexmlfull",
|
|
5998
5996
|
"pluginAlias": "sfdx-hardis",
|
|
5999
5997
|
"pluginName": "sfdx-hardis",
|
|
6000
5998
|
"pluginType": "core",
|
|
6001
5999
|
"strict": true,
|
|
6002
6000
|
"enableJsonFlag": true,
|
|
6003
|
-
"title": "
|
|
6001
|
+
"title": "Generate Full Org package.xml",
|
|
6004
6002
|
"requiresProject": false,
|
|
6005
6003
|
"isESM": true,
|
|
6006
6004
|
"relativePath": [
|
|
@@ -6008,41 +6006,280 @@
|
|
|
6008
6006
|
"commands",
|
|
6009
6007
|
"hardis",
|
|
6010
6008
|
"org",
|
|
6011
|
-
"
|
|
6012
|
-
"
|
|
6009
|
+
"generate",
|
|
6010
|
+
"packagexmlfull.js"
|
|
6013
6011
|
],
|
|
6014
6012
|
"aliasPermutations": [],
|
|
6015
6013
|
"permutations": [
|
|
6016
|
-
"hardis:org:
|
|
6017
|
-
"org:hardis:
|
|
6018
|
-
"org:
|
|
6019
|
-
"org:
|
|
6020
|
-
"hardis:
|
|
6021
|
-
"
|
|
6022
|
-
"
|
|
6023
|
-
"
|
|
6024
|
-
"hardis:
|
|
6025
|
-
"
|
|
6026
|
-
"
|
|
6027
|
-
"
|
|
6028
|
-
"hardis:org:
|
|
6029
|
-
"org:hardis:
|
|
6030
|
-
"org:
|
|
6031
|
-
"org:
|
|
6032
|
-
"hardis:
|
|
6033
|
-
"
|
|
6034
|
-
"
|
|
6035
|
-
"
|
|
6036
|
-
"hardis:
|
|
6037
|
-
"
|
|
6038
|
-
"
|
|
6039
|
-
"
|
|
6040
|
-
]
|
|
6041
|
-
},
|
|
6042
|
-
"hardis:org:diagnose:
|
|
6043
|
-
"aliases": [],
|
|
6044
|
-
"args": {},
|
|
6045
|
-
"description": "
|
|
6014
|
+
"hardis:org:generate:packagexmlfull",
|
|
6015
|
+
"org:hardis:generate:packagexmlfull",
|
|
6016
|
+
"org:generate:hardis:packagexmlfull",
|
|
6017
|
+
"org:generate:packagexmlfull:hardis",
|
|
6018
|
+
"hardis:generate:org:packagexmlfull",
|
|
6019
|
+
"generate:hardis:org:packagexmlfull",
|
|
6020
|
+
"generate:org:hardis:packagexmlfull",
|
|
6021
|
+
"generate:org:packagexmlfull:hardis",
|
|
6022
|
+
"hardis:generate:packagexmlfull:org",
|
|
6023
|
+
"generate:hardis:packagexmlfull:org",
|
|
6024
|
+
"generate:packagexmlfull:hardis:org",
|
|
6025
|
+
"generate:packagexmlfull:org:hardis",
|
|
6026
|
+
"hardis:org:packagexmlfull:generate",
|
|
6027
|
+
"org:hardis:packagexmlfull:generate",
|
|
6028
|
+
"org:packagexmlfull:hardis:generate",
|
|
6029
|
+
"org:packagexmlfull:generate:hardis",
|
|
6030
|
+
"hardis:packagexmlfull:org:generate",
|
|
6031
|
+
"packagexmlfull:hardis:org:generate",
|
|
6032
|
+
"packagexmlfull:org:hardis:generate",
|
|
6033
|
+
"packagexmlfull:org:generate:hardis",
|
|
6034
|
+
"hardis:packagexmlfull:generate:org",
|
|
6035
|
+
"packagexmlfull:hardis:generate:org",
|
|
6036
|
+
"packagexmlfull:generate:hardis:org",
|
|
6037
|
+
"packagexmlfull:generate:org:hardis"
|
|
6038
|
+
]
|
|
6039
|
+
},
|
|
6040
|
+
"hardis:org:diagnose:audittrail": {
|
|
6041
|
+
"aliases": [],
|
|
6042
|
+
"args": {},
|
|
6043
|
+
"description": "Export Audit trail into a CSV file with selected criteria, and highlight suspect actions\n\nAlso detects updates of Custom Settings values (disable by defining `SKIP_AUDIT_TRAIL_CUSTOM_SETTINGS=true`)\n\nRegular setup actions performed in major orgs are filtered.\n\n- \"\"\n - createScratchOrg\n - changedsenderemail\n - deleteScratchOrg\n - loginasgrantedtopartnerbt\n- Certificate and Key Management\n - insertCertificate\n- Custom App Licenses\n - addeduserpackagelicense\n - granteduserpackagelicense\n - revokeduserpackagelicense\n- Customer Portal\n - createdcustomersuccessuser\n - CSPUserDisabled\n- Currency\n - updateddatedexchrate\n- Data Management\n - queueMembership\n- Email Administration\n - dkimRotationPreparationSuccessful\n - dkimRotationSuccessful\n- External Objects\n - xdsEncryptedFieldChange\n- Groups\n - groupMembership\n- Holidays\n - holiday_insert\n- Inbox mobile and legacy desktop apps\n - enableSIQUserNonEAC\n - siqUserAcceptedTOS\n- Manage Users\n - activateduser\n - createduser\n - changedcommunitynickname\n - changedemail\n - changedfederationid\n - changedpassword\n - changedinteractionuseroffon\n - changedinteractionuseronoff\n - changedmarketinguseroffon\n - changedmarketinguseronoff\n - changedofflineuseroffon\n - changedprofileforuserstdtostd\n - changedprofileforuser\n - changedprofileforusercusttostd\n - changedprofileforuserstdtocust\n - changedroleforusertonone\n - changedroleforuser\n - changedroleforuserfromnone\n - changedUserAdminVerifiedStatusVerified\n - changedUserEmailVerifiedStatusUnverified\n - changedUserEmailVerifiedStatusVerified\n - changedknowledgeuseroffon\n - changedsfcontentuseroffon\n - changedsupportuseroffon\n - changedusername\n - changedUserPhoneNumber\n - changedUserPhoneVerifiedStatusUnverified\n - changedUserPhoneVerifiedStatusVerified\n - deactivateduser\n - deleteAuthenticatorPairing\n - deleteTwoFactorInfo2\n - deleteTwoFactorTempCode\n - frozeuser\n - insertAuthenticatorPairing\n - insertTwoFactorInfo2\n - insertTwoFactorTempCode\n - lightningloginenroll\n - PermSetAssign\n - PermSetGroupAssign\n - PermSetGroupUnassign\n - PermSetLicenseAssign\n - PermSetUnassign\n - PermSetLicenseUnassign\n - registeredUserPhoneNumber\n - resetpassword\n - suNetworkAdminLogin\n - suNetworkAdminLogout\n - suOrgAdminLogin\n - suOrgAdminLogout\n - unfrozeuser\n - useremailchangesent\n- Mobile Administration\n - assigneduserstomobileconfig\n- Reporting Snapshots\n - createdReportJob\n - deletedReportJob\n- Sandboxes\n - DeleteSandbox\n\nBy default, deployment user defined in .sfdx-hardis.yml targetUsername property will be excluded.\n\nYou can define additional users to exclude in .sfdx-hardis.yml **monitoringExcludeUsernames** property.\n\nYou can also add more sections / actions considered as not suspect using property **monitoringAllowedSectionsActions**\n\nExample:\n\n```yaml\nmonitoringExcludeUsernames:\n - deploymentuser@cloudity.com\n - marketingcloud@cloudity.com\n - integration-user@cloudity.com\n\nmonitoringAllowedSectionsActions:\n \"Some section\": [] // Will ignore all actions from such section\n \"Some other section\": [\"actionType1\",\"actionType2\",\"actionType3\"] // Will ignore only those 3 actions from section \"Some other section\". Other actions in the same section will be considered as suspect.\n```\n\n## Excel output example\n\n\n\n## Local output example\n\n\n\nThis command is part of [sfdx-hardis Monitoring](https://sfdx-hardis.cloudity.com/salesforce-monitoring-suspect-audit-trail/) and can output Grafana, Slack and MsTeams Notifications.\n",
|
|
6044
|
+
"examples": [
|
|
6045
|
+
"$ sf hardis:org:diagnose:audittrail",
|
|
6046
|
+
"$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com",
|
|
6047
|
+
"$ sf hardis:org:diagnose:audittrail --excludeusers baptiste@titi.com,bertrand@titi.com",
|
|
6048
|
+
"$ sf hardis:org:diagnose:audittrail --lastndays 5"
|
|
6049
|
+
],
|
|
6050
|
+
"flags": {
|
|
6051
|
+
"json": {
|
|
6052
|
+
"description": "Format output as json.",
|
|
6053
|
+
"helpGroup": "GLOBAL",
|
|
6054
|
+
"name": "json",
|
|
6055
|
+
"allowNo": false,
|
|
6056
|
+
"type": "boolean"
|
|
6057
|
+
},
|
|
6058
|
+
"flags-dir": {
|
|
6059
|
+
"helpGroup": "GLOBAL",
|
|
6060
|
+
"name": "flags-dir",
|
|
6061
|
+
"summary": "Import flag values from a directory.",
|
|
6062
|
+
"hasDynamicHelp": false,
|
|
6063
|
+
"multiple": false,
|
|
6064
|
+
"type": "option"
|
|
6065
|
+
},
|
|
6066
|
+
"excludeusers": {
|
|
6067
|
+
"char": "e",
|
|
6068
|
+
"description": "Comma-separated list of usernames to exclude",
|
|
6069
|
+
"name": "excludeusers",
|
|
6070
|
+
"hasDynamicHelp": false,
|
|
6071
|
+
"multiple": false,
|
|
6072
|
+
"type": "option"
|
|
6073
|
+
},
|
|
6074
|
+
"lastndays": {
|
|
6075
|
+
"char": "t",
|
|
6076
|
+
"description": "Number of days to extract from today (included)",
|
|
6077
|
+
"name": "lastndays",
|
|
6078
|
+
"hasDynamicHelp": false,
|
|
6079
|
+
"multiple": false,
|
|
6080
|
+
"type": "option"
|
|
6081
|
+
},
|
|
6082
|
+
"outputfile": {
|
|
6083
|
+
"char": "f",
|
|
6084
|
+
"description": "Force the path and name of output report file. Must end with .csv",
|
|
6085
|
+
"name": "outputfile",
|
|
6086
|
+
"hasDynamicHelp": false,
|
|
6087
|
+
"multiple": false,
|
|
6088
|
+
"type": "option"
|
|
6089
|
+
},
|
|
6090
|
+
"debug": {
|
|
6091
|
+
"char": "d",
|
|
6092
|
+
"description": "Activate debug mode (more logs)",
|
|
6093
|
+
"name": "debug",
|
|
6094
|
+
"allowNo": false,
|
|
6095
|
+
"type": "boolean"
|
|
6096
|
+
},
|
|
6097
|
+
"websocket": {
|
|
6098
|
+
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
6099
|
+
"name": "websocket",
|
|
6100
|
+
"hasDynamicHelp": false,
|
|
6101
|
+
"multiple": false,
|
|
6102
|
+
"type": "option"
|
|
6103
|
+
},
|
|
6104
|
+
"skipauth": {
|
|
6105
|
+
"description": "Skip authentication check when a default username is required",
|
|
6106
|
+
"name": "skipauth",
|
|
6107
|
+
"allowNo": false,
|
|
6108
|
+
"type": "boolean"
|
|
6109
|
+
},
|
|
6110
|
+
"target-org": {
|
|
6111
|
+
"aliases": [
|
|
6112
|
+
"targetusername",
|
|
6113
|
+
"u"
|
|
6114
|
+
],
|
|
6115
|
+
"char": "o",
|
|
6116
|
+
"deprecateAliases": true,
|
|
6117
|
+
"name": "target-org",
|
|
6118
|
+
"noCacheDefault": true,
|
|
6119
|
+
"required": true,
|
|
6120
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
6121
|
+
"hasDynamicHelp": true,
|
|
6122
|
+
"multiple": false,
|
|
6123
|
+
"type": "option"
|
|
6124
|
+
}
|
|
6125
|
+
},
|
|
6126
|
+
"hasDynamicHelp": true,
|
|
6127
|
+
"hiddenAliases": [],
|
|
6128
|
+
"id": "hardis:org:diagnose:audittrail",
|
|
6129
|
+
"pluginAlias": "sfdx-hardis",
|
|
6130
|
+
"pluginName": "sfdx-hardis",
|
|
6131
|
+
"pluginType": "core",
|
|
6132
|
+
"strict": true,
|
|
6133
|
+
"enableJsonFlag": true,
|
|
6134
|
+
"title": "Diagnose content of Setup Audit Trail",
|
|
6135
|
+
"requiresProject": false,
|
|
6136
|
+
"isESM": true,
|
|
6137
|
+
"relativePath": [
|
|
6138
|
+
"lib",
|
|
6139
|
+
"commands",
|
|
6140
|
+
"hardis",
|
|
6141
|
+
"org",
|
|
6142
|
+
"diagnose",
|
|
6143
|
+
"audittrail.js"
|
|
6144
|
+
],
|
|
6145
|
+
"aliasPermutations": [],
|
|
6146
|
+
"permutations": [
|
|
6147
|
+
"hardis:org:diagnose:audittrail",
|
|
6148
|
+
"org:hardis:diagnose:audittrail",
|
|
6149
|
+
"org:diagnose:hardis:audittrail",
|
|
6150
|
+
"org:diagnose:audittrail:hardis",
|
|
6151
|
+
"hardis:diagnose:org:audittrail",
|
|
6152
|
+
"diagnose:hardis:org:audittrail",
|
|
6153
|
+
"diagnose:org:hardis:audittrail",
|
|
6154
|
+
"diagnose:org:audittrail:hardis",
|
|
6155
|
+
"hardis:diagnose:audittrail:org",
|
|
6156
|
+
"diagnose:hardis:audittrail:org",
|
|
6157
|
+
"diagnose:audittrail:hardis:org",
|
|
6158
|
+
"diagnose:audittrail:org:hardis",
|
|
6159
|
+
"hardis:org:audittrail:diagnose",
|
|
6160
|
+
"org:hardis:audittrail:diagnose",
|
|
6161
|
+
"org:audittrail:hardis:diagnose",
|
|
6162
|
+
"org:audittrail:diagnose:hardis",
|
|
6163
|
+
"hardis:audittrail:org:diagnose",
|
|
6164
|
+
"audittrail:hardis:org:diagnose",
|
|
6165
|
+
"audittrail:org:hardis:diagnose",
|
|
6166
|
+
"audittrail:org:diagnose:hardis",
|
|
6167
|
+
"hardis:audittrail:diagnose:org",
|
|
6168
|
+
"audittrail:hardis:diagnose:org",
|
|
6169
|
+
"audittrail:diagnose:hardis:org",
|
|
6170
|
+
"audittrail:diagnose:org:hardis"
|
|
6171
|
+
]
|
|
6172
|
+
},
|
|
6173
|
+
"hardis:org:diagnose:instanceupgrade": {
|
|
6174
|
+
"aliases": [],
|
|
6175
|
+
"args": {},
|
|
6176
|
+
"description": "\n## Command Behavior\n\n**Retrieves and displays the scheduled upgrade date for a Salesforce org's instance.**\n\nThis command provides crucial information about when your Salesforce instance will be upgraded to the next major release (Spring, Summer, or Winter). This is vital for release planning, testing, and ensuring compatibility with upcoming Salesforce features.\n\nKey functionalities:\n\n- **Instance Identification:** Determines the Salesforce instance name of your target org.\n- **Upgrade Date Retrieval:** Fetches the planned start time of the next major core service upgrade for that instance from the Salesforce Status API.\n- **Days Until Upgrade:** Calculates and displays the number of days remaining until the next major upgrade.\n- **Severity-Based Logging:** Adjusts the log severity (info, warning) based on the proximity of the upgrade date, providing a visual cue for urgency.\n- **Notifications:** Sends notifications to configured channels (e.g., Slack, MS Teams, Grafana) with the upgrade information, making it suitable for automated monitoring.\n\n<details markdown=\"1\">\n<summary>Technical explanations</summary>\n\nThe command's technical implementation involves:\n\n- **Salesforce SOQL Query:** It first queries the `Organization` object in Salesforce to get the `InstanceName` of the target org.\n- **Salesforce Status API Integration:** It makes an HTTP GET request to the Salesforce Status API (`https://api.status.salesforce.com/v1/instances/{instanceName}/status`) to retrieve detailed information about the instance, including scheduled maintenances.\n- **Data Parsing:** It parses the JSON response from the Status API to extract the relevant major release upgrade information.\n- **Date Calculation:** Uses the `moment` library to calculate the difference in days between the current date and the planned upgrade date.\n- **Notification Integration:** It integrates with the `NotifProvider` to send notifications, including the instance name, upgrade date, and days remaining, along with relevant metrics for monitoring dashboards.\n- **User Feedback:** Provides clear messages to the user about the upgrade status and proximity.\n</details>\n",
|
|
6177
|
+
"examples": [
|
|
6178
|
+
"$ sf hardis:org:diagnose:instanceupgrade"
|
|
6179
|
+
],
|
|
6180
|
+
"flags": {
|
|
6181
|
+
"json": {
|
|
6182
|
+
"description": "Format output as json.",
|
|
6183
|
+
"helpGroup": "GLOBAL",
|
|
6184
|
+
"name": "json",
|
|
6185
|
+
"allowNo": false,
|
|
6186
|
+
"type": "boolean"
|
|
6187
|
+
},
|
|
6188
|
+
"flags-dir": {
|
|
6189
|
+
"helpGroup": "GLOBAL",
|
|
6190
|
+
"name": "flags-dir",
|
|
6191
|
+
"summary": "Import flag values from a directory.",
|
|
6192
|
+
"hasDynamicHelp": false,
|
|
6193
|
+
"multiple": false,
|
|
6194
|
+
"type": "option"
|
|
6195
|
+
},
|
|
6196
|
+
"debug": {
|
|
6197
|
+
"char": "d",
|
|
6198
|
+
"description": "Activate debug mode (more logs)",
|
|
6199
|
+
"name": "debug",
|
|
6200
|
+
"allowNo": false,
|
|
6201
|
+
"type": "boolean"
|
|
6202
|
+
},
|
|
6203
|
+
"websocket": {
|
|
6204
|
+
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
6205
|
+
"name": "websocket",
|
|
6206
|
+
"hasDynamicHelp": false,
|
|
6207
|
+
"multiple": false,
|
|
6208
|
+
"type": "option"
|
|
6209
|
+
},
|
|
6210
|
+
"skipauth": {
|
|
6211
|
+
"description": "Skip authentication check when a default username is required",
|
|
6212
|
+
"name": "skipauth",
|
|
6213
|
+
"allowNo": false,
|
|
6214
|
+
"type": "boolean"
|
|
6215
|
+
},
|
|
6216
|
+
"target-org": {
|
|
6217
|
+
"aliases": [
|
|
6218
|
+
"targetusername",
|
|
6219
|
+
"u"
|
|
6220
|
+
],
|
|
6221
|
+
"char": "o",
|
|
6222
|
+
"deprecateAliases": true,
|
|
6223
|
+
"name": "target-org",
|
|
6224
|
+
"noCacheDefault": true,
|
|
6225
|
+
"required": true,
|
|
6226
|
+
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
6227
|
+
"hasDynamicHelp": true,
|
|
6228
|
+
"multiple": false,
|
|
6229
|
+
"type": "option"
|
|
6230
|
+
}
|
|
6231
|
+
},
|
|
6232
|
+
"hasDynamicHelp": true,
|
|
6233
|
+
"hiddenAliases": [],
|
|
6234
|
+
"id": "hardis:org:diagnose:instanceupgrade",
|
|
6235
|
+
"pluginAlias": "sfdx-hardis",
|
|
6236
|
+
"pluginName": "sfdx-hardis",
|
|
6237
|
+
"pluginType": "core",
|
|
6238
|
+
"strict": true,
|
|
6239
|
+
"enableJsonFlag": true,
|
|
6240
|
+
"title": "Get Instance Upgrade date",
|
|
6241
|
+
"requiresProject": false,
|
|
6242
|
+
"isESM": true,
|
|
6243
|
+
"relativePath": [
|
|
6244
|
+
"lib",
|
|
6245
|
+
"commands",
|
|
6246
|
+
"hardis",
|
|
6247
|
+
"org",
|
|
6248
|
+
"diagnose",
|
|
6249
|
+
"instanceupgrade.js"
|
|
6250
|
+
],
|
|
6251
|
+
"aliasPermutations": [],
|
|
6252
|
+
"permutations": [
|
|
6253
|
+
"hardis:org:diagnose:instanceupgrade",
|
|
6254
|
+
"org:hardis:diagnose:instanceupgrade",
|
|
6255
|
+
"org:diagnose:hardis:instanceupgrade",
|
|
6256
|
+
"org:diagnose:instanceupgrade:hardis",
|
|
6257
|
+
"hardis:diagnose:org:instanceupgrade",
|
|
6258
|
+
"diagnose:hardis:org:instanceupgrade",
|
|
6259
|
+
"diagnose:org:hardis:instanceupgrade",
|
|
6260
|
+
"diagnose:org:instanceupgrade:hardis",
|
|
6261
|
+
"hardis:diagnose:instanceupgrade:org",
|
|
6262
|
+
"diagnose:hardis:instanceupgrade:org",
|
|
6263
|
+
"diagnose:instanceupgrade:hardis:org",
|
|
6264
|
+
"diagnose:instanceupgrade:org:hardis",
|
|
6265
|
+
"hardis:org:instanceupgrade:diagnose",
|
|
6266
|
+
"org:hardis:instanceupgrade:diagnose",
|
|
6267
|
+
"org:instanceupgrade:hardis:diagnose",
|
|
6268
|
+
"org:instanceupgrade:diagnose:hardis",
|
|
6269
|
+
"hardis:instanceupgrade:org:diagnose",
|
|
6270
|
+
"instanceupgrade:hardis:org:diagnose",
|
|
6271
|
+
"instanceupgrade:org:hardis:diagnose",
|
|
6272
|
+
"instanceupgrade:org:diagnose:hardis",
|
|
6273
|
+
"hardis:instanceupgrade:diagnose:org",
|
|
6274
|
+
"instanceupgrade:hardis:diagnose:org",
|
|
6275
|
+
"instanceupgrade:diagnose:hardis:org",
|
|
6276
|
+
"instanceupgrade:diagnose:org:hardis"
|
|
6277
|
+
]
|
|
6278
|
+
},
|
|
6279
|
+
"hardis:org:diagnose:legacyapi": {
|
|
6280
|
+
"aliases": [],
|
|
6281
|
+
"args": {},
|
|
6282
|
+
"description": "Checks if an org uses retired or someday retired API version\n\n\nSee article below\n\n[](https://nicolas.vuillamy.fr/handle-salesforce-api-versions-deprecation-like-a-pro-335065f52238)\n\nThis command is part of [sfdx-hardis Monitoring](https://sfdx-hardis.cloudity.com/salesforce-monitoring-deprecated-api-calls/) and can output Grafana, Slack and MsTeams Notifications.\n",
|
|
6046
6283
|
"examples": [
|
|
6047
6284
|
"$ sf hardis:org:diagnose:legacyapi",
|
|
6048
6285
|
"$ sf hardis:org:diagnose:legacyapi -u hardis@myclient.com",
|
|
@@ -7032,272 +7269,35 @@
|
|
|
7032
7269
|
"commands",
|
|
7033
7270
|
"hardis",
|
|
7034
7271
|
"org",
|
|
7035
|
-
"diagnose",
|
|
7036
|
-
"unusedusers.js"
|
|
7037
|
-
],
|
|
7038
|
-
"aliasPermutations": [],
|
|
7039
|
-
"permutations": [
|
|
7040
|
-
"hardis:org:diagnose:unusedusers",
|
|
7041
|
-
"org:hardis:diagnose:unusedusers",
|
|
7042
|
-
"org:diagnose:hardis:unusedusers",
|
|
7043
|
-
"org:diagnose:unusedusers:hardis",
|
|
7044
|
-
"hardis:diagnose:org:unusedusers",
|
|
7045
|
-
"diagnose:hardis:org:unusedusers",
|
|
7046
|
-
"diagnose:org:hardis:unusedusers",
|
|
7047
|
-
"diagnose:org:unusedusers:hardis",
|
|
7048
|
-
"hardis:diagnose:unusedusers:org",
|
|
7049
|
-
"diagnose:hardis:unusedusers:org",
|
|
7050
|
-
"diagnose:unusedusers:hardis:org",
|
|
7051
|
-
"diagnose:unusedusers:org:hardis",
|
|
7052
|
-
"hardis:org:unusedusers:diagnose",
|
|
7053
|
-
"org:hardis:unusedusers:diagnose",
|
|
7054
|
-
"org:unusedusers:hardis:diagnose",
|
|
7055
|
-
"org:unusedusers:diagnose:hardis",
|
|
7056
|
-
"hardis:unusedusers:org:diagnose",
|
|
7057
|
-
"unusedusers:hardis:org:diagnose",
|
|
7058
|
-
"unusedusers:org:hardis:diagnose",
|
|
7059
|
-
"unusedusers:org:diagnose:hardis",
|
|
7060
|
-
"hardis:unusedusers:diagnose:org",
|
|
7061
|
-
"unusedusers:hardis:diagnose:org",
|
|
7062
|
-
"unusedusers:diagnose:hardis:org",
|
|
7063
|
-
"unusedusers:diagnose:org:hardis"
|
|
7064
|
-
]
|
|
7065
|
-
},
|
|
7066
|
-
"hardis:org:fix:listviewmine": {
|
|
7067
|
-
"aliases": [],
|
|
7068
|
-
"args": {},
|
|
7069
|
-
"description": "Fix listviews whose scope Mine has been replaced by Everything\n\n[](https://nicolas.vuillamy.fr/invalid-scope-mine-not-allowed-deploy-your-listviews-anyway-443aceca8ac7)\n\nList of ListViews can be:\n\n- read from .sfdx-hardis.yml file in property **listViewsToSetToMine**\n- sent in argument listviews\n\nNote: property **listViewsToSetToMine** can be auto-generated by command hardis:work:save if .sfdx-hardis.yml contains the following configuration\n\n```yaml\nautoCleanTypes:\n - listViewsMine\n```\n\n- Example of sfdx-hardis.yml property `listViewsToSetToMine`:\n\n```yaml\nlistViewsToSetToMine:\n - \"force-app/main/default/objects/Operation__c/listViews/MyCurrentOperations.listView-meta.xml\"\n - \"force-app/main/default/objects/Operation__c/listViews/MyFinalizedOperations.listView-meta.xml\"\n - \"force-app/main/default/objects/Opportunity/listViews/Default_Opportunity_Pipeline.listView-meta.xml\"\n - \"force-app/main/default/objects/Opportunity/listViews/MyCurrentSubscriptions.listView-meta.xml\"\n - \"force-app/main/default/objects/Opportunity/listViews/MySubscriptions.listView-meta.xml\"\n - \"force-app/main/default/objects/Account/listViews/MyActivePartners.listView-meta.xml\"\n```\n\n- If manually written, this could also be:\n\n```yaml\nlistViewsToSetToMine:\n - \"Operation__c:MyCurrentOperations\"\n - \"Operation__c:MyFinalizedOperations\"\n - \"Opportunity:Default_Opportunity_Pipeline\"\n - \"Opportunity:MyCurrentSubscriptions\"\n - \"Opportunity:MySubscriptions\"\n - \"Account:MyActivePartners\"\n```\n\nTroubleshooting: if you need to run this command from an alpine-linux based docker image, use this workaround in your dockerfile:\n\n```dockerfile\n# Do not use puppeteer embedded chromium\nRUN apk add --update --no-cache chromium\nENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=\"true\"\nENV CHROMIUM_PATH=\"/usr/bin/chromium-browser\"\nENV PUPPETEER_EXECUTABLE_PATH=\"$\\{CHROMIUM_PATH}\" // remove \\ before {\n```\n",
|
|
7070
|
-
"examples": [
|
|
7071
|
-
"$ sf hardis:org:fix:listviewmine",
|
|
7072
|
-
"$ sf hardis:org:fix:listviewmine --listviews Opportunity:MySubscriptions,Account:MyActivePartners"
|
|
7073
|
-
],
|
|
7074
|
-
"flags": {
|
|
7075
|
-
"json": {
|
|
7076
|
-
"description": "Format output as json.",
|
|
7077
|
-
"helpGroup": "GLOBAL",
|
|
7078
|
-
"name": "json",
|
|
7079
|
-
"allowNo": false,
|
|
7080
|
-
"type": "boolean"
|
|
7081
|
-
},
|
|
7082
|
-
"flags-dir": {
|
|
7083
|
-
"helpGroup": "GLOBAL",
|
|
7084
|
-
"name": "flags-dir",
|
|
7085
|
-
"summary": "Import flag values from a directory.",
|
|
7086
|
-
"hasDynamicHelp": false,
|
|
7087
|
-
"multiple": false,
|
|
7088
|
-
"type": "option"
|
|
7089
|
-
},
|
|
7090
|
-
"listviews": {
|
|
7091
|
-
"char": "l",
|
|
7092
|
-
"description": "Comma-separated list of listviews following format Object:ListViewName\nExample: Contact:MyContacts,Contact:MyActiveContacts,Opportunity:MYClosedOpportunities",
|
|
7093
|
-
"name": "listviews",
|
|
7094
|
-
"hasDynamicHelp": false,
|
|
7095
|
-
"multiple": false,
|
|
7096
|
-
"type": "option"
|
|
7097
|
-
},
|
|
7098
|
-
"debug": {
|
|
7099
|
-
"char": "d",
|
|
7100
|
-
"description": "Activate debug mode (more logs)",
|
|
7101
|
-
"name": "debug",
|
|
7102
|
-
"allowNo": false,
|
|
7103
|
-
"type": "boolean"
|
|
7104
|
-
},
|
|
7105
|
-
"websocket": {
|
|
7106
|
-
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
7107
|
-
"name": "websocket",
|
|
7108
|
-
"hasDynamicHelp": false,
|
|
7109
|
-
"multiple": false,
|
|
7110
|
-
"type": "option"
|
|
7111
|
-
},
|
|
7112
|
-
"skipauth": {
|
|
7113
|
-
"description": "Skip authentication check when a default username is required",
|
|
7114
|
-
"name": "skipauth",
|
|
7115
|
-
"allowNo": false,
|
|
7116
|
-
"type": "boolean"
|
|
7117
|
-
},
|
|
7118
|
-
"target-org": {
|
|
7119
|
-
"aliases": [
|
|
7120
|
-
"targetusername",
|
|
7121
|
-
"u"
|
|
7122
|
-
],
|
|
7123
|
-
"char": "o",
|
|
7124
|
-
"deprecateAliases": true,
|
|
7125
|
-
"name": "target-org",
|
|
7126
|
-
"noCacheDefault": true,
|
|
7127
|
-
"required": true,
|
|
7128
|
-
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
7129
|
-
"hasDynamicHelp": true,
|
|
7130
|
-
"multiple": false,
|
|
7131
|
-
"type": "option"
|
|
7132
|
-
}
|
|
7133
|
-
},
|
|
7134
|
-
"hasDynamicHelp": true,
|
|
7135
|
-
"hiddenAliases": [],
|
|
7136
|
-
"id": "hardis:org:fix:listviewmine",
|
|
7137
|
-
"pluginAlias": "sfdx-hardis",
|
|
7138
|
-
"pluginName": "sfdx-hardis",
|
|
7139
|
-
"pluginType": "core",
|
|
7140
|
-
"strict": true,
|
|
7141
|
-
"enableJsonFlag": true,
|
|
7142
|
-
"title": "Fix listviews with ",
|
|
7143
|
-
"requiresProject": true,
|
|
7144
|
-
"isESM": true,
|
|
7145
|
-
"relativePath": [
|
|
7146
|
-
"lib",
|
|
7147
|
-
"commands",
|
|
7148
|
-
"hardis",
|
|
7149
|
-
"org",
|
|
7150
|
-
"fix",
|
|
7151
|
-
"listviewmine.js"
|
|
7152
|
-
],
|
|
7153
|
-
"aliasPermutations": [],
|
|
7154
|
-
"permutations": [
|
|
7155
|
-
"hardis:org:fix:listviewmine",
|
|
7156
|
-
"org:hardis:fix:listviewmine",
|
|
7157
|
-
"org:fix:hardis:listviewmine",
|
|
7158
|
-
"org:fix:listviewmine:hardis",
|
|
7159
|
-
"hardis:fix:org:listviewmine",
|
|
7160
|
-
"fix:hardis:org:listviewmine",
|
|
7161
|
-
"fix:org:hardis:listviewmine",
|
|
7162
|
-
"fix:org:listviewmine:hardis",
|
|
7163
|
-
"hardis:fix:listviewmine:org",
|
|
7164
|
-
"fix:hardis:listviewmine:org",
|
|
7165
|
-
"fix:listviewmine:hardis:org",
|
|
7166
|
-
"fix:listviewmine:org:hardis",
|
|
7167
|
-
"hardis:org:listviewmine:fix",
|
|
7168
|
-
"org:hardis:listviewmine:fix",
|
|
7169
|
-
"org:listviewmine:hardis:fix",
|
|
7170
|
-
"org:listviewmine:fix:hardis",
|
|
7171
|
-
"hardis:listviewmine:org:fix",
|
|
7172
|
-
"listviewmine:hardis:org:fix",
|
|
7173
|
-
"listviewmine:org:hardis:fix",
|
|
7174
|
-
"listviewmine:org:fix:hardis",
|
|
7175
|
-
"hardis:listviewmine:fix:org",
|
|
7176
|
-
"listviewmine:hardis:fix:org",
|
|
7177
|
-
"listviewmine:fix:hardis:org",
|
|
7178
|
-
"listviewmine:fix:org:hardis"
|
|
7179
|
-
]
|
|
7180
|
-
},
|
|
7181
|
-
"hardis:org:generate:packagexmlfull": {
|
|
7182
|
-
"aliases": [],
|
|
7183
|
-
"args": {},
|
|
7184
|
-
"description": "\n## Command Behavior\n\n**Generates a comprehensive `package.xml` file for a Salesforce org, including all metadata components, even managed ones.**\n\nThis command is essential for various Salesforce development and administration tasks, especially when you need a complete snapshot of an org's metadata. It goes beyond typical source tracking by including managed package components, which is crucial for understanding the full metadata footprint of an org.\n\nKey functionalities:\n\n- **Full Org Metadata Retrieval:** Connects to a specified Salesforce org (or prompts for one if not provided) and retrieves a complete list of all metadata types and their members.\n- **Managed Package Inclusion:** Unlike standard source retrieval, this command explicitly includes metadata from managed packages, providing a truly comprehensive `package.xml`.\n- **Customizable Output:** Allows you to specify the output file path for the generated `package.xml`.\n- **Interactive Org Selection:** If no target org is specified, it interactively prompts the user to choose an org. (or use --no-prompt to skip this step)\n\n<details markdown=\"1\">\n<summary>Technical explanations</summary>\n\nThe command's technical implementation involves:\n\n- **Salesforce Metadata API Interaction:** It leverages the Salesforce Metadata API to list all available metadata types and then retrieve all components for each type.\n- **`buildOrgManifest` Utility:** The core logic for querying the org's metadata and constructing the `package.xml` is encapsulated within the `buildOrgManifest` utility function.\n- **XML Generation:** It dynamically builds the XML structure of the `package.xml` file, including the `types` and `members` elements for all retrieved metadata.\n- **File System Operations:** It writes the generated `package.xml` file to the specified output path.\n- **Interactive Prompts:** Uses `promptOrgUsernameDefault` to guide the user in selecting the target Salesforce org.\n</details>\n",
|
|
7185
|
-
"examples": [
|
|
7186
|
-
"$ sf hardis:org:generate:packagexmlfull",
|
|
7187
|
-
"$ sf hardis:org:generate:packagexmlfull --outputfile /tmp/packagexmlfull.xml",
|
|
7188
|
-
"$ sf hardis:org:generate:packagexmlfull --target-org nico@example.com"
|
|
7189
|
-
],
|
|
7190
|
-
"flags": {
|
|
7191
|
-
"json": {
|
|
7192
|
-
"description": "Format output as json.",
|
|
7193
|
-
"helpGroup": "GLOBAL",
|
|
7194
|
-
"name": "json",
|
|
7195
|
-
"allowNo": false,
|
|
7196
|
-
"type": "boolean"
|
|
7197
|
-
},
|
|
7198
|
-
"flags-dir": {
|
|
7199
|
-
"helpGroup": "GLOBAL",
|
|
7200
|
-
"name": "flags-dir",
|
|
7201
|
-
"summary": "Import flag values from a directory.",
|
|
7202
|
-
"hasDynamicHelp": false,
|
|
7203
|
-
"multiple": false,
|
|
7204
|
-
"type": "option"
|
|
7205
|
-
},
|
|
7206
|
-
"outputfile": {
|
|
7207
|
-
"description": "Output package.xml file",
|
|
7208
|
-
"name": "outputfile",
|
|
7209
|
-
"hasDynamicHelp": false,
|
|
7210
|
-
"multiple": false,
|
|
7211
|
-
"type": "option"
|
|
7212
|
-
},
|
|
7213
|
-
"debug": {
|
|
7214
|
-
"char": "d",
|
|
7215
|
-
"description": "Activate debug mode (more logs)",
|
|
7216
|
-
"name": "debug",
|
|
7217
|
-
"allowNo": false,
|
|
7218
|
-
"type": "boolean"
|
|
7219
|
-
},
|
|
7220
|
-
"no-prompt": {
|
|
7221
|
-
"char": "n",
|
|
7222
|
-
"description": "Do not prompt for org username, use the default one",
|
|
7223
|
-
"name": "no-prompt",
|
|
7224
|
-
"allowNo": false,
|
|
7225
|
-
"type": "boolean"
|
|
7226
|
-
},
|
|
7227
|
-
"websocket": {
|
|
7228
|
-
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
7229
|
-
"name": "websocket",
|
|
7230
|
-
"hasDynamicHelp": false,
|
|
7231
|
-
"multiple": false,
|
|
7232
|
-
"type": "option"
|
|
7233
|
-
},
|
|
7234
|
-
"skipauth": {
|
|
7235
|
-
"description": "Skip authentication check when a default username is required",
|
|
7236
|
-
"name": "skipauth",
|
|
7237
|
-
"allowNo": false,
|
|
7238
|
-
"type": "boolean"
|
|
7239
|
-
},
|
|
7240
|
-
"target-org": {
|
|
7241
|
-
"aliases": [
|
|
7242
|
-
"targetusername",
|
|
7243
|
-
"u"
|
|
7244
|
-
],
|
|
7245
|
-
"char": "o",
|
|
7246
|
-
"deprecateAliases": true,
|
|
7247
|
-
"name": "target-org",
|
|
7248
|
-
"noCacheDefault": true,
|
|
7249
|
-
"required": true,
|
|
7250
|
-
"summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
|
|
7251
|
-
"hasDynamicHelp": true,
|
|
7252
|
-
"multiple": false,
|
|
7253
|
-
"type": "option"
|
|
7254
|
-
}
|
|
7255
|
-
},
|
|
7256
|
-
"hasDynamicHelp": true,
|
|
7257
|
-
"hiddenAliases": [],
|
|
7258
|
-
"id": "hardis:org:generate:packagexmlfull",
|
|
7259
|
-
"pluginAlias": "sfdx-hardis",
|
|
7260
|
-
"pluginName": "sfdx-hardis",
|
|
7261
|
-
"pluginType": "core",
|
|
7262
|
-
"strict": true,
|
|
7263
|
-
"enableJsonFlag": true,
|
|
7264
|
-
"title": "Generate Full Org package.xml",
|
|
7265
|
-
"requiresProject": false,
|
|
7266
|
-
"isESM": true,
|
|
7267
|
-
"relativePath": [
|
|
7268
|
-
"lib",
|
|
7269
|
-
"commands",
|
|
7270
|
-
"hardis",
|
|
7271
|
-
"org",
|
|
7272
|
-
"generate",
|
|
7273
|
-
"packagexmlfull.js"
|
|
7272
|
+
"diagnose",
|
|
7273
|
+
"unusedusers.js"
|
|
7274
7274
|
],
|
|
7275
7275
|
"aliasPermutations": [],
|
|
7276
7276
|
"permutations": [
|
|
7277
|
-
"hardis:org:
|
|
7278
|
-
"org:hardis:
|
|
7279
|
-
"org:
|
|
7280
|
-
"org:
|
|
7281
|
-
"hardis:
|
|
7282
|
-
"
|
|
7283
|
-
"
|
|
7284
|
-
"
|
|
7285
|
-
"hardis:
|
|
7286
|
-
"
|
|
7287
|
-
"
|
|
7288
|
-
"
|
|
7289
|
-
"hardis:org:
|
|
7290
|
-
"org:hardis:
|
|
7291
|
-
"org:
|
|
7292
|
-
"org:
|
|
7293
|
-
"hardis:
|
|
7294
|
-
"
|
|
7295
|
-
"
|
|
7296
|
-
"
|
|
7297
|
-
"hardis:
|
|
7298
|
-
"
|
|
7299
|
-
"
|
|
7300
|
-
"
|
|
7277
|
+
"hardis:org:diagnose:unusedusers",
|
|
7278
|
+
"org:hardis:diagnose:unusedusers",
|
|
7279
|
+
"org:diagnose:hardis:unusedusers",
|
|
7280
|
+
"org:diagnose:unusedusers:hardis",
|
|
7281
|
+
"hardis:diagnose:org:unusedusers",
|
|
7282
|
+
"diagnose:hardis:org:unusedusers",
|
|
7283
|
+
"diagnose:org:hardis:unusedusers",
|
|
7284
|
+
"diagnose:org:unusedusers:hardis",
|
|
7285
|
+
"hardis:diagnose:unusedusers:org",
|
|
7286
|
+
"diagnose:hardis:unusedusers:org",
|
|
7287
|
+
"diagnose:unusedusers:hardis:org",
|
|
7288
|
+
"diagnose:unusedusers:org:hardis",
|
|
7289
|
+
"hardis:org:unusedusers:diagnose",
|
|
7290
|
+
"org:hardis:unusedusers:diagnose",
|
|
7291
|
+
"org:unusedusers:hardis:diagnose",
|
|
7292
|
+
"org:unusedusers:diagnose:hardis",
|
|
7293
|
+
"hardis:unusedusers:org:diagnose",
|
|
7294
|
+
"unusedusers:hardis:org:diagnose",
|
|
7295
|
+
"unusedusers:org:hardis:diagnose",
|
|
7296
|
+
"unusedusers:org:diagnose:hardis",
|
|
7297
|
+
"hardis:unusedusers:diagnose:org",
|
|
7298
|
+
"unusedusers:hardis:diagnose:org",
|
|
7299
|
+
"unusedusers:diagnose:hardis:org",
|
|
7300
|
+
"unusedusers:diagnose:org:hardis"
|
|
7301
7301
|
]
|
|
7302
7302
|
},
|
|
7303
7303
|
"hardis:org:monitor:all": {
|
|
@@ -9811,6 +9811,109 @@
|
|
|
9811
9811
|
"auth:configure:project:hardis"
|
|
9812
9812
|
]
|
|
9813
9813
|
},
|
|
9814
|
+
"hardis:project:convert:profilestopermsets": {
|
|
9815
|
+
"aliases": [],
|
|
9816
|
+
"args": {},
|
|
9817
|
+
"description": "\n## Command Behavior\n\n**Converts existing Salesforce Profiles into Permission Sets, facilitating a more granular and recommended security model.**\n\nThis command helps in migrating permissions from Profiles to Permission Sets, which is a best practice for managing user access in Salesforce. It creates a new Permission Set for each specified Profile, adopting a naming convention of `PS_PROFILENAME`.\n\nKey functionalities:\n\n- **Profile to Permission Set Conversion:** Automatically extracts permissions from a Profile and creates a corresponding Permission Set.\n- **Naming Convention:** New Permission Sets are named with a `PS_` prefix followed by the Profile name (e.g., `PS_Standard_User`).\n- **Exclusion Filter:** Allows you to exclude specific Profiles from the conversion process using the `--except` flag.\n\n<details markdown=\"1\">\n<summary>Technical explanations</summary>\n\nThe command's technical implementation involves:\n\n- **External Plugin Integration:** It relies on the `shane-sfdx-plugins` (specifically the `sf shane:profile:convert` command) to perform the actual conversion.\n- **File System Scan:** It reads the contents of the `force-app/main/default/profiles` directory to identify all available Profile metadata files.\n- **Command Execution:** For each identified Profile (that is not excluded), it constructs and executes the `sf shane:profile:convert` command with the appropriate Profile name and desired Permission Set name.\n- **Error Handling:** Includes basic error handling for the external command execution.\n</details>\n",
|
|
9818
|
+
"examples": [
|
|
9819
|
+
"$ sf hardis:project:convert:profilestopermsets"
|
|
9820
|
+
],
|
|
9821
|
+
"flags": {
|
|
9822
|
+
"json": {
|
|
9823
|
+
"description": "Format output as json.",
|
|
9824
|
+
"helpGroup": "GLOBAL",
|
|
9825
|
+
"name": "json",
|
|
9826
|
+
"allowNo": false,
|
|
9827
|
+
"type": "boolean"
|
|
9828
|
+
},
|
|
9829
|
+
"flags-dir": {
|
|
9830
|
+
"helpGroup": "GLOBAL",
|
|
9831
|
+
"name": "flags-dir",
|
|
9832
|
+
"summary": "Import flag values from a directory.",
|
|
9833
|
+
"hasDynamicHelp": false,
|
|
9834
|
+
"multiple": false,
|
|
9835
|
+
"type": "option"
|
|
9836
|
+
},
|
|
9837
|
+
"except": {
|
|
9838
|
+
"char": "e",
|
|
9839
|
+
"description": "List of filters",
|
|
9840
|
+
"name": "except",
|
|
9841
|
+
"default": [],
|
|
9842
|
+
"hasDynamicHelp": false,
|
|
9843
|
+
"multiple": true,
|
|
9844
|
+
"type": "option"
|
|
9845
|
+
},
|
|
9846
|
+
"debug": {
|
|
9847
|
+
"char": "d",
|
|
9848
|
+
"description": "Activate debug mode (more logs)",
|
|
9849
|
+
"name": "debug",
|
|
9850
|
+
"allowNo": false,
|
|
9851
|
+
"type": "boolean"
|
|
9852
|
+
},
|
|
9853
|
+
"websocket": {
|
|
9854
|
+
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
9855
|
+
"name": "websocket",
|
|
9856
|
+
"hasDynamicHelp": false,
|
|
9857
|
+
"multiple": false,
|
|
9858
|
+
"type": "option"
|
|
9859
|
+
},
|
|
9860
|
+
"skipauth": {
|
|
9861
|
+
"description": "Skip authentication check when a default username is required",
|
|
9862
|
+
"name": "skipauth",
|
|
9863
|
+
"allowNo": false,
|
|
9864
|
+
"type": "boolean"
|
|
9865
|
+
}
|
|
9866
|
+
},
|
|
9867
|
+
"hasDynamicHelp": false,
|
|
9868
|
+
"hiddenAliases": [],
|
|
9869
|
+
"id": "hardis:project:convert:profilestopermsets",
|
|
9870
|
+
"pluginAlias": "sfdx-hardis",
|
|
9871
|
+
"pluginName": "sfdx-hardis",
|
|
9872
|
+
"pluginType": "core",
|
|
9873
|
+
"strict": true,
|
|
9874
|
+
"enableJsonFlag": true,
|
|
9875
|
+
"title": "Convert Profiles into Permission Sets",
|
|
9876
|
+
"requiresProject": true,
|
|
9877
|
+
"requiresSfdxPlugins": [
|
|
9878
|
+
"shane-sfdx-plugins"
|
|
9879
|
+
],
|
|
9880
|
+
"isESM": true,
|
|
9881
|
+
"relativePath": [
|
|
9882
|
+
"lib",
|
|
9883
|
+
"commands",
|
|
9884
|
+
"hardis",
|
|
9885
|
+
"project",
|
|
9886
|
+
"convert",
|
|
9887
|
+
"profilestopermsets.js"
|
|
9888
|
+
],
|
|
9889
|
+
"aliasPermutations": [],
|
|
9890
|
+
"permutations": [
|
|
9891
|
+
"hardis:project:convert:profilestopermsets",
|
|
9892
|
+
"project:hardis:convert:profilestopermsets",
|
|
9893
|
+
"project:convert:hardis:profilestopermsets",
|
|
9894
|
+
"project:convert:profilestopermsets:hardis",
|
|
9895
|
+
"hardis:convert:project:profilestopermsets",
|
|
9896
|
+
"convert:hardis:project:profilestopermsets",
|
|
9897
|
+
"convert:project:hardis:profilestopermsets",
|
|
9898
|
+
"convert:project:profilestopermsets:hardis",
|
|
9899
|
+
"hardis:convert:profilestopermsets:project",
|
|
9900
|
+
"convert:hardis:profilestopermsets:project",
|
|
9901
|
+
"convert:profilestopermsets:hardis:project",
|
|
9902
|
+
"convert:profilestopermsets:project:hardis",
|
|
9903
|
+
"hardis:project:profilestopermsets:convert",
|
|
9904
|
+
"project:hardis:profilestopermsets:convert",
|
|
9905
|
+
"project:profilestopermsets:hardis:convert",
|
|
9906
|
+
"project:profilestopermsets:convert:hardis",
|
|
9907
|
+
"hardis:profilestopermsets:project:convert",
|
|
9908
|
+
"profilestopermsets:hardis:project:convert",
|
|
9909
|
+
"profilestopermsets:project:hardis:convert",
|
|
9910
|
+
"profilestopermsets:project:convert:hardis",
|
|
9911
|
+
"hardis:profilestopermsets:convert:project",
|
|
9912
|
+
"profilestopermsets:hardis:convert:project",
|
|
9913
|
+
"profilestopermsets:convert:hardis:project",
|
|
9914
|
+
"profilestopermsets:convert:project:hardis"
|
|
9915
|
+
]
|
|
9916
|
+
},
|
|
9814
9917
|
"hardis:project:clean:emptyitems": {
|
|
9815
9918
|
"aliases": [],
|
|
9816
9919
|
"args": {},
|
|
@@ -11296,109 +11399,6 @@
|
|
|
11296
11399
|
"xml:clean:project:hardis"
|
|
11297
11400
|
]
|
|
11298
11401
|
},
|
|
11299
|
-
"hardis:project:convert:profilestopermsets": {
|
|
11300
|
-
"aliases": [],
|
|
11301
|
-
"args": {},
|
|
11302
|
-
"description": "\n## Command Behavior\n\n**Converts existing Salesforce Profiles into Permission Sets, facilitating a more granular and recommended security model.**\n\nThis command helps in migrating permissions from Profiles to Permission Sets, which is a best practice for managing user access in Salesforce. It creates a new Permission Set for each specified Profile, adopting a naming convention of `PS_PROFILENAME`.\n\nKey functionalities:\n\n- **Profile to Permission Set Conversion:** Automatically extracts permissions from a Profile and creates a corresponding Permission Set.\n- **Naming Convention:** New Permission Sets are named with a `PS_` prefix followed by the Profile name (e.g., `PS_Standard_User`).\n- **Exclusion Filter:** Allows you to exclude specific Profiles from the conversion process using the `--except` flag.\n\n<details markdown=\"1\">\n<summary>Technical explanations</summary>\n\nThe command's technical implementation involves:\n\n- **External Plugin Integration:** It relies on the `shane-sfdx-plugins` (specifically the `sf shane:profile:convert` command) to perform the actual conversion.\n- **File System Scan:** It reads the contents of the `force-app/main/default/profiles` directory to identify all available Profile metadata files.\n- **Command Execution:** For each identified Profile (that is not excluded), it constructs and executes the `sf shane:profile:convert` command with the appropriate Profile name and desired Permission Set name.\n- **Error Handling:** Includes basic error handling for the external command execution.\n</details>\n",
|
|
11303
|
-
"examples": [
|
|
11304
|
-
"$ sf hardis:project:convert:profilestopermsets"
|
|
11305
|
-
],
|
|
11306
|
-
"flags": {
|
|
11307
|
-
"json": {
|
|
11308
|
-
"description": "Format output as json.",
|
|
11309
|
-
"helpGroup": "GLOBAL",
|
|
11310
|
-
"name": "json",
|
|
11311
|
-
"allowNo": false,
|
|
11312
|
-
"type": "boolean"
|
|
11313
|
-
},
|
|
11314
|
-
"flags-dir": {
|
|
11315
|
-
"helpGroup": "GLOBAL",
|
|
11316
|
-
"name": "flags-dir",
|
|
11317
|
-
"summary": "Import flag values from a directory.",
|
|
11318
|
-
"hasDynamicHelp": false,
|
|
11319
|
-
"multiple": false,
|
|
11320
|
-
"type": "option"
|
|
11321
|
-
},
|
|
11322
|
-
"except": {
|
|
11323
|
-
"char": "e",
|
|
11324
|
-
"description": "List of filters",
|
|
11325
|
-
"name": "except",
|
|
11326
|
-
"default": [],
|
|
11327
|
-
"hasDynamicHelp": false,
|
|
11328
|
-
"multiple": true,
|
|
11329
|
-
"type": "option"
|
|
11330
|
-
},
|
|
11331
|
-
"debug": {
|
|
11332
|
-
"char": "d",
|
|
11333
|
-
"description": "Activate debug mode (more logs)",
|
|
11334
|
-
"name": "debug",
|
|
11335
|
-
"allowNo": false,
|
|
11336
|
-
"type": "boolean"
|
|
11337
|
-
},
|
|
11338
|
-
"websocket": {
|
|
11339
|
-
"description": "Websocket host:port for VsCode SFDX Hardis UI integration",
|
|
11340
|
-
"name": "websocket",
|
|
11341
|
-
"hasDynamicHelp": false,
|
|
11342
|
-
"multiple": false,
|
|
11343
|
-
"type": "option"
|
|
11344
|
-
},
|
|
11345
|
-
"skipauth": {
|
|
11346
|
-
"description": "Skip authentication check when a default username is required",
|
|
11347
|
-
"name": "skipauth",
|
|
11348
|
-
"allowNo": false,
|
|
11349
|
-
"type": "boolean"
|
|
11350
|
-
}
|
|
11351
|
-
},
|
|
11352
|
-
"hasDynamicHelp": false,
|
|
11353
|
-
"hiddenAliases": [],
|
|
11354
|
-
"id": "hardis:project:convert:profilestopermsets",
|
|
11355
|
-
"pluginAlias": "sfdx-hardis",
|
|
11356
|
-
"pluginName": "sfdx-hardis",
|
|
11357
|
-
"pluginType": "core",
|
|
11358
|
-
"strict": true,
|
|
11359
|
-
"enableJsonFlag": true,
|
|
11360
|
-
"title": "Convert Profiles into Permission Sets",
|
|
11361
|
-
"requiresProject": true,
|
|
11362
|
-
"requiresSfdxPlugins": [
|
|
11363
|
-
"shane-sfdx-plugins"
|
|
11364
|
-
],
|
|
11365
|
-
"isESM": true,
|
|
11366
|
-
"relativePath": [
|
|
11367
|
-
"lib",
|
|
11368
|
-
"commands",
|
|
11369
|
-
"hardis",
|
|
11370
|
-
"project",
|
|
11371
|
-
"convert",
|
|
11372
|
-
"profilestopermsets.js"
|
|
11373
|
-
],
|
|
11374
|
-
"aliasPermutations": [],
|
|
11375
|
-
"permutations": [
|
|
11376
|
-
"hardis:project:convert:profilestopermsets",
|
|
11377
|
-
"project:hardis:convert:profilestopermsets",
|
|
11378
|
-
"project:convert:hardis:profilestopermsets",
|
|
11379
|
-
"project:convert:profilestopermsets:hardis",
|
|
11380
|
-
"hardis:convert:project:profilestopermsets",
|
|
11381
|
-
"convert:hardis:project:profilestopermsets",
|
|
11382
|
-
"convert:project:hardis:profilestopermsets",
|
|
11383
|
-
"convert:project:profilestopermsets:hardis",
|
|
11384
|
-
"hardis:convert:profilestopermsets:project",
|
|
11385
|
-
"convert:hardis:profilestopermsets:project",
|
|
11386
|
-
"convert:profilestopermsets:hardis:project",
|
|
11387
|
-
"convert:profilestopermsets:project:hardis",
|
|
11388
|
-
"hardis:project:profilestopermsets:convert",
|
|
11389
|
-
"project:hardis:profilestopermsets:convert",
|
|
11390
|
-
"project:profilestopermsets:hardis:convert",
|
|
11391
|
-
"project:profilestopermsets:convert:hardis",
|
|
11392
|
-
"hardis:profilestopermsets:project:convert",
|
|
11393
|
-
"profilestopermsets:hardis:project:convert",
|
|
11394
|
-
"profilestopermsets:project:hardis:convert",
|
|
11395
|
-
"profilestopermsets:project:convert:hardis",
|
|
11396
|
-
"hardis:profilestopermsets:convert:project",
|
|
11397
|
-
"profilestopermsets:hardis:convert:project",
|
|
11398
|
-
"profilestopermsets:convert:hardis:project",
|
|
11399
|
-
"profilestopermsets:convert:project:hardis"
|
|
11400
|
-
]
|
|
11401
|
-
},
|
|
11402
11402
|
"hardis:project:fix:profiletabs": {
|
|
11403
11403
|
"aliases": [],
|
|
11404
11404
|
"args": {},
|
|
@@ -15271,5 +15271,5 @@
|
|
|
15271
15271
|
]
|
|
15272
15272
|
}
|
|
15273
15273
|
},
|
|
15274
|
-
"version": "6.3.
|
|
15274
|
+
"version": "6.3.4-beta202509081032.0"
|
|
15275
15275
|
}
|