sfdx-hardis 5.42.0 → 5.43.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.
@@ -57,12 +57,13 @@
57
57
  "world:hello"
58
58
  ]
59
59
  },
60
- "hardis:cache:clear": {
60
+ "hardis:auth:login": {
61
61
  "aliases": [],
62
62
  "args": {},
63
- "description": "Clear cache generated by sfdx-hardis",
63
+ "description": "\nLogins to a Salesforce org from CI/CD workflows.\n\nWill use the variables and files defined by configuration commands:\n\n- CI/CD repos: [Configure Org CI Authentication](https://sfdx-hardis.cloudity.com/hardis/project/configure/auth/)\n- Monitoring repos: [Configure Org Monitoring](https://sfdx-hardis.cloudity.com/hardis/org/configure/monitoring/)\n\nIf you have a technical org (for example to call Agentforce from another org, you can define variable SFDX_AUTH_URL_TECHNICAL_ORG and it will authenticate it with alias TECHNICAL_ORG)\n\nYou can get SFDX_AUTH_URL_TECHNICAL_ORG value by running the command: `sf org display --verbose --json` and copy the value of the field `sfdxAuthUrl` in the output.\n",
64
64
  "examples": [
65
- "$ sf hardis:cache:clear"
65
+ "$ sf hardis:auth:login",
66
+ "CI=true sf hardis:auth:login"
66
67
  ],
67
68
  "flags": {
68
69
  "json": {
@@ -80,6 +81,28 @@
80
81
  "multiple": false,
81
82
  "type": "option"
82
83
  },
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
+ },
83
106
  "debug": {
84
107
  "char": "d",
85
108
  "description": "Activate debug mode (more logs)",
@@ -103,38 +126,38 @@
103
126
  },
104
127
  "hasDynamicHelp": false,
105
128
  "hiddenAliases": [],
106
- "id": "hardis:cache:clear",
129
+ "id": "hardis:auth:login",
107
130
  "pluginAlias": "sfdx-hardis",
108
131
  "pluginName": "sfdx-hardis",
109
132
  "pluginType": "core",
110
133
  "strict": true,
111
134
  "enableJsonFlag": true,
112
- "title": "Clear sfdx-hardis cache",
135
+ "title": "Login",
113
136
  "requiresProject": false,
114
137
  "isESM": true,
115
138
  "relativePath": [
116
139
  "lib",
117
140
  "commands",
118
141
  "hardis",
119
- "cache",
120
- "clear.js"
142
+ "auth",
143
+ "login.js"
121
144
  ],
122
145
  "aliasPermutations": [],
123
146
  "permutations": [
124
- "hardis:cache:clear",
125
- "cache:hardis:clear",
126
- "cache:clear:hardis",
127
- "hardis:clear:cache",
128
- "clear:hardis:cache",
129
- "clear:cache:hardis"
147
+ "hardis:auth:login",
148
+ "auth:hardis:login",
149
+ "auth:login:hardis",
150
+ "hardis:login:auth",
151
+ "login:hardis:auth",
152
+ "login:auth:hardis"
130
153
  ]
131
154
  },
132
- "hardis:config:get": {
155
+ "hardis:cache:clear": {
133
156
  "aliases": [],
134
157
  "args": {},
135
- "description": "Returns sfdx-hardis project config for a given level",
158
+ "description": "Clear cache generated by sfdx-hardis",
136
159
  "examples": [
137
- "$ sf hardis:project:deploy:sources:metadata"
160
+ "$ sf hardis:cache:clear"
138
161
  ],
139
162
  "flags": {
140
163
  "json": {
@@ -152,20 +175,6 @@
152
175
  "multiple": false,
153
176
  "type": "option"
154
177
  },
155
- "level": {
156
- "char": "l",
157
- "description": "project,branch or user",
158
- "name": "level",
159
- "default": "project",
160
- "hasDynamicHelp": false,
161
- "multiple": false,
162
- "options": [
163
- "project",
164
- "branch",
165
- "user"
166
- ],
167
- "type": "option"
168
- },
169
178
  "debug": {
170
179
  "char": "d",
171
180
  "description": "Activate debug mode (more logs)",
@@ -189,39 +198,38 @@
189
198
  },
190
199
  "hasDynamicHelp": false,
191
200
  "hiddenAliases": [],
192
- "id": "hardis:config:get",
201
+ "id": "hardis:cache:clear",
193
202
  "pluginAlias": "sfdx-hardis",
194
203
  "pluginName": "sfdx-hardis",
195
204
  "pluginType": "core",
196
205
  "strict": true,
197
206
  "enableJsonFlag": true,
198
- "title": "Deploy metadata sources to org",
207
+ "title": "Clear sfdx-hardis cache",
199
208
  "requiresProject": false,
200
209
  "isESM": true,
201
210
  "relativePath": [
202
211
  "lib",
203
212
  "commands",
204
213
  "hardis",
205
- "config",
206
- "get.js"
214
+ "cache",
215
+ "clear.js"
207
216
  ],
208
217
  "aliasPermutations": [],
209
218
  "permutations": [
210
- "hardis:config:get",
211
- "config:hardis:get",
212
- "config:get:hardis",
213
- "hardis:get:config",
214
- "get:hardis:config",
215
- "get:config:hardis"
219
+ "hardis:cache:clear",
220
+ "cache:hardis:clear",
221
+ "cache:clear:hardis",
222
+ "hardis:clear:cache",
223
+ "clear:hardis:cache",
224
+ "clear:cache:hardis"
216
225
  ]
217
226
  },
218
- "hardis:auth:login": {
227
+ "hardis:config:get": {
219
228
  "aliases": [],
220
229
  "args": {},
221
- "description": "\nLogins to a Salesforce org from CI/CD workflows.\n\nWill use the variables and files defined by configuration commands:\n\n- CI/CD repos: [Configure Org CI Authentication](https://sfdx-hardis.cloudity.com/hardis/project/configure/auth/)\n- Monitoring repos: [Configure Org Monitoring](https://sfdx-hardis.cloudity.com/hardis/org/configure/monitoring/)\n\nIf you have a technical org (for example to call Agentforce from another org, you can define variable SFDX_AUTH_URL_TECHNICAL_ORG and it will authenticate it with alias TECHNICAL_ORG)\n\nYou can get SFDX_AUTH_URL_TECHNICAL_ORG value by running the command: `sf org display --verbose --json` and copy the value of the field `sfdxAuthUrl` in the output.\n",
230
+ "description": "Returns sfdx-hardis project config for a given level",
222
231
  "examples": [
223
- "$ sf hardis:auth:login",
224
- "CI=true sf hardis:auth:login"
232
+ "$ sf hardis:project:deploy:sources:metadata"
225
233
  ],
226
234
  "flags": {
227
235
  "json": {
@@ -239,28 +247,20 @@
239
247
  "multiple": false,
240
248
  "type": "option"
241
249
  },
242
- "instanceurl": {
243
- "char": "r",
244
- "description": "URL of org instance",
245
- "name": "instanceurl",
250
+ "level": {
251
+ "char": "l",
252
+ "description": "project,branch or user",
253
+ "name": "level",
254
+ "default": "project",
246
255
  "hasDynamicHelp": false,
247
256
  "multiple": false,
257
+ "options": [
258
+ "project",
259
+ "branch",
260
+ "user"
261
+ ],
248
262
  "type": "option"
249
263
  },
250
- "devhub": {
251
- "char": "h",
252
- "description": "Also connect associated DevHub",
253
- "name": "devhub",
254
- "allowNo": false,
255
- "type": "boolean"
256
- },
257
- "scratchorg": {
258
- "char": "s",
259
- "description": "Scratch org",
260
- "name": "scratchorg",
261
- "allowNo": false,
262
- "type": "boolean"
263
- },
264
264
  "debug": {
265
265
  "char": "d",
266
266
  "description": "Activate debug mode (more logs)",
@@ -284,30 +284,30 @@
284
284
  },
285
285
  "hasDynamicHelp": false,
286
286
  "hiddenAliases": [],
287
- "id": "hardis:auth:login",
287
+ "id": "hardis:config:get",
288
288
  "pluginAlias": "sfdx-hardis",
289
289
  "pluginName": "sfdx-hardis",
290
290
  "pluginType": "core",
291
291
  "strict": true,
292
292
  "enableJsonFlag": true,
293
- "title": "Login",
293
+ "title": "Deploy metadata sources to org",
294
294
  "requiresProject": false,
295
295
  "isESM": true,
296
296
  "relativePath": [
297
297
  "lib",
298
298
  "commands",
299
299
  "hardis",
300
- "auth",
301
- "login.js"
300
+ "config",
301
+ "get.js"
302
302
  ],
303
303
  "aliasPermutations": [],
304
304
  "permutations": [
305
- "hardis:auth:login",
306
- "auth:hardis:login",
307
- "auth:login:hardis",
308
- "hardis:login:auth",
309
- "login:hardis:auth",
310
- "login:auth:hardis"
305
+ "hardis:config:get",
306
+ "config:hardis:get",
307
+ "config:get:hardis",
308
+ "hardis:get:config",
309
+ "get:hardis:config",
310
+ "get:config:hardis"
311
311
  ]
312
312
  },
313
313
  "hardis:doc:fieldusage": {
@@ -860,7 +860,7 @@
860
860
  "hardis:doc:project2markdown": {
861
861
  "aliases": [],
862
862
  "args": {},
863
- "description": "Generates a markdown documentation from a SFDX project\n\n- Objects (with fields, validation rules, relationships and dependencies)\n- Automations\n - Approval Processes\n - Assignment Rules\n - AutoResponse Rules\n - Escalation Rules\n - Flows\n- Authorizations\n - Profiles\n - Permission Set Groups\n - Permission Sets\n- Code\n - Apex\n - Lightning Web Components\n- Lightning Pages\n- Packages\n- SFDX-Hardis Config\n- Branches & Orgs\n- Manifests\n\nCan work on any sfdx project, no need for it to be a sfdx-hardis flavored one.\n\nGenerates markdown files will be written in **docs** folder (except README.md where a link to doc index is added)\n\n- You can customize the pages following [mkdocs-material setup documentation](https://squidfunk.github.io/mkdocs-material/setup/)\n- You can manually add new markdown files in the \"docs\" folder to extend this documentation and add references to them in \"mkdocs.yml\"\n- You can also add images in folder \"docs/assets\" and embed them in markdown files.\n\nTo read Flow documentations if your markdown reader doesn't handle MermaidJS syntax, this command could require @mermaid-js/mermaid-cli\n\n- Run `npm install @mermaid-js/mermaid-cli --global` if puppeteer works in your environment\n- It can also be run as a docker image\n\nBoth modes will be tried by default, but you can also force one of them by defining environment variable `MERMAID_MODES=docker` or `MERMAID_MODES=cli`\n\n_sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/puppeteer: if you can help, please submit a PR !_\n\nIf Flow history doc always display a single state, you probably need to update your workflow configuration:\n\n- on Gitlab: Env variable [`GIT_FETCH_EXTRA_FLAGS: --depth 10000`](https://github.com/hardisgroupcom/sfdx-hardis/blob/main/defaults/monitoring/.gitlab-ci.yml#L11)\n- on GitHub: [`fetch-depth: 0`](https://github.com/hardisgroupcom/sfdx-hardis/blob/main/defaults/monitoring/.github/workflows/org-monitoring.yml#L58)\n- on Azure: [`fetchDepth: \"0\"`](https://github.com/hardisgroupcom/sfdx-hardis/blob/main/defaults/monitoring/azure-pipelines.yml#L39)\n- on Bitbucket: [`step: clone: depth: full`](https://github.com/hardisgroupcom/sfdx-hardis/blob/main/defaults/monitoring/bitbucket-pipelines.yml#L18)\n\n![Screenshot flow doc](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-flow-doc.jpg)\n\n![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-project-doc.jpg)\n\n![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-project-doc-2.jpg)\n\n![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-object-diagram.jpg)\n\n![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-project-doc-profile.gif)\n\nIf it is a sfdx-hardis CI/CD project, a diagram of the branches and orgs strategy will be generated.\n\n![](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-doc-branches-strategy.jpg)\n\nIf [AI integration](https://sfdx-hardis.cloudity.com/salesforce-ai-setup/) is configured, documentation will contain a summary of the Flow.\n\n- Use variable PROMPTS_LANGUAGE (ex: PROMPTS_LANGUAGE=fr) to force language for LLM calls (default:en)\n\nIf you have a complex strategy, you might need to input property **mergeTargets** in branch-scoped sfdx-hardis.yml file to have a correct diagram.\n\nDefine DO_NOT_OVERWRITE_INDEX_MD=true to avoid overwriting the index.md file in docs folder, useful if you want to keep your own index.md file.\n\n## Doc HTML Pages\n\nTo read the documentation as HTML pages, run the following code (you need [**Python**](https://www.python.org/downloads/) on your computer)\n\n```python\npip install mkdocs-material mkdocs-exclude-search mdx_truly_sane_lists || python -m pip install mkdocs-material mkdocs-exclude-search mdx_truly_sane_lists || py -m pip install mkdocs-material mkdocs-exclude-search mdx_truly_sane_lists\nmkdocs serve -v || python -m mkdocs serve -v || py -m mkdocs serve -v\n```\n\nTo just generate HTML pages that you can host anywhere, run `mkdocs build -v || python -m mkdocs build -v || py -m mkdocs build -v`\n\n",
863
+ "description": "Generates a markdown documentation from a SFDX project\n\n- Objects (with fields, validation rules, relationships and dependencies)\n- Automations\n - Approval Processes\n - Assignment Rules\n - AutoResponse Rules\n - Escalation Rules\n - Flows\n- Authorizations\n - Profiles\n - Permission Set Groups\n - Permission Sets\n- Code\n - Apex\n - Lightning Web Components\n- Lightning Pages\n- Packages\n- SFDX-Hardis Config\n- Branches & Orgs\n- Manifests\n\nCan work on any sfdx project, no need for it to be a sfdx-hardis flavored one.\n\nGenerates markdown files will be written in **docs** folder (except README.md where a link to doc index is added)\n\n- You can customize the pages following [mkdocs-material setup documentation](https://squidfunk.github.io/mkdocs-material/setup/)\n- You can manually add new markdown files in the \"docs\" folder to extend this documentation and add references to them in \"mkdocs.yml\"\n- You can also add images in folder \"docs/assets\" and embed them in markdown files.\n\nTo read Flow documentations if your markdown reader doesn't handle MermaidJS syntax, this command could require @mermaid-js/mermaid-cli\n\n- Run `npm install @mermaid-js/mermaid-cli --global` if puppeteer works in your environment\n- It can also be run as a docker image\n\nBoth modes will be tried by default, but you can also force one of them by defining environment variable `MERMAID_MODES=docker` or `MERMAID_MODES=cli`\n\n_sfdx-hardis docker image is alpine-based and does not succeed to run mermaid/puppeteer: if you can help, please submit a PR !_\n\nIf Flow history doc always display a single state, you probably need to update your workflow configuration:\n\n- on Gitlab: Env variable [`GIT_FETCH_EXTRA_FLAGS: --depth 10000`](https://github.com/hardisgroupcom/sfdx-hardis/blob/main/defaults/monitoring/.gitlab-ci.yml#L11)\n- on GitHub: [`fetch-depth: 0`](https://github.com/hardisgroupcom/sfdx-hardis/blob/main/defaults/monitoring/.github/workflows/org-monitoring.yml#L58)\n- on Azure: [`fetchDepth: \"0\"`](https://github.com/hardisgroupcom/sfdx-hardis/blob/main/defaults/monitoring/azure-pipelines.yml#L39)\n- on Bitbucket: [`step: clone: depth: full`](https://github.com/hardisgroupcom/sfdx-hardis/blob/main/defaults/monitoring/bitbucket-pipelines.yml#L18)\n\n![Screenshot flow doc](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-flow-doc.jpg)\n\n![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-project-doc.jpg)\n\n![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-project-doc-2.jpg)\n\n![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-object-diagram.jpg)\n\n![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-project-doc-profile.gif)\n\n![Screenshot project documentation](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-doc-apex.png)\n\nIf it is a sfdx-hardis CI/CD project, a diagram of the branches and orgs strategy will be generated.\n\n![](https://github.com/hardisgroupcom/sfdx-hardis/raw/main/docs/assets/images/screenshot-doc-branches-strategy.jpg)\n\nIf [AI integration](https://sfdx-hardis.cloudity.com/salesforce-ai-setup/) is configured, documentation will contain a summary of the Flow.\n\n- Use variable PROMPTS_LANGUAGE (ex: PROMPTS_LANGUAGE=fr) to force language for LLM calls (default:en)\n\nIf you have a complex strategy, you might need to input property **mergeTargets** in branch-scoped sfdx-hardis.yml file to have a correct diagram.\n\nDefine DO_NOT_OVERWRITE_INDEX_MD=true to avoid overwriting the index.md file in docs folder, useful if you want to keep your own index.md file.\n\n## Doc HTML Pages\n\nTo read the documentation as HTML pages, run the following code (you need [**Python**](https://www.python.org/downloads/) on your computer)\n\n```python\npip install mkdocs-material mkdocs-exclude-search mdx_truly_sane_lists || python -m pip install mkdocs-material mkdocs-exclude-search mdx_truly_sane_lists || py -m pip install mkdocs-material mkdocs-exclude-search mdx_truly_sane_lists\nmkdocs serve -v || python -m mkdocs serve -v || py -m mkdocs serve -v\n```\n\nTo just generate HTML pages that you can host anywhere, run `mkdocs build -v || python -m mkdocs build -v || py -m mkdocs build -v`\n\n",
864
864
  "examples": [
865
865
  "$ sf hardis:doc:project2markdown",
866
866
  "$ sf hardis:doc:project2markdown --with-history",
@@ -9245,12 +9245,12 @@
9245
9245
  "remotesites:audit:project:hardis"
9246
9246
  ]
9247
9247
  },
9248
- "hardis:project:clean:emptyitems": {
9248
+ "hardis:project:configure:auth": {
9249
9249
  "aliases": [],
9250
9250
  "args": {},
9251
- "description": "Remove unwanted empty items within sfdx project sources",
9251
+ "description": "Configure authentication from git branch to target org",
9252
9252
  "examples": [
9253
- "$ sf hardis:project:clean:emptyitems"
9253
+ "$ sf hardis:project:configure:auth"
9254
9254
  ],
9255
9255
  "flags": {
9256
9256
  "json": {
@@ -9268,14 +9268,12 @@
9268
9268
  "multiple": false,
9269
9269
  "type": "option"
9270
9270
  },
9271
- "folder": {
9272
- "char": "f",
9273
- "description": "Root folder",
9274
- "name": "folder",
9275
- "default": "force-app",
9276
- "hasDynamicHelp": false,
9277
- "multiple": false,
9278
- "type": "option"
9271
+ "devhub": {
9272
+ "char": "b",
9273
+ "description": "Configure project DevHub",
9274
+ "name": "devhub",
9275
+ "allowNo": false,
9276
+ "type": "boolean"
9279
9277
  },
9280
9278
  "debug": {
9281
9279
  "char": "d",
@@ -9296,56 +9294,290 @@
9296
9294
  "name": "skipauth",
9297
9295
  "allowNo": false,
9298
9296
  "type": "boolean"
9297
+ },
9298
+ "target-org": {
9299
+ "aliases": [
9300
+ "targetusername",
9301
+ "u"
9302
+ ],
9303
+ "char": "o",
9304
+ "deprecateAliases": true,
9305
+ "name": "target-org",
9306
+ "noCacheDefault": true,
9307
+ "summary": "Username or alias of the target org.",
9308
+ "hasDynamicHelp": true,
9309
+ "multiple": false,
9310
+ "type": "option"
9311
+ },
9312
+ "target-dev-hub": {
9313
+ "aliases": [
9314
+ "targetdevhubusername"
9315
+ ],
9316
+ "char": "v",
9317
+ "deprecateAliases": true,
9318
+ "name": "target-dev-hub",
9319
+ "noCacheDefault": true,
9320
+ "required": false,
9321
+ "summary": "Username or alias of the Dev Hub org.",
9322
+ "hasDynamicHelp": true,
9323
+ "multiple": false,
9324
+ "type": "option"
9299
9325
  }
9300
9326
  },
9301
- "hasDynamicHelp": false,
9327
+ "hasDynamicHelp": true,
9302
9328
  "hiddenAliases": [],
9303
- "id": "hardis:project:clean:emptyitems",
9329
+ "id": "hardis:project:configure:auth",
9304
9330
  "pluginAlias": "sfdx-hardis",
9305
9331
  "pluginName": "sfdx-hardis",
9306
9332
  "pluginType": "core",
9307
9333
  "strict": true,
9308
9334
  "enableJsonFlag": true,
9309
- "title": "Clean retrieved empty items in dx sources",
9310
- "requiresProject": true,
9335
+ "title": "Configure authentication",
9336
+ "requiresProject": false,
9337
+ "requiresDependencies": [
9338
+ "openssl"
9339
+ ],
9311
9340
  "isESM": true,
9312
9341
  "relativePath": [
9313
9342
  "lib",
9314
9343
  "commands",
9315
9344
  "hardis",
9316
9345
  "project",
9317
- "clean",
9318
- "emptyitems.js"
9346
+ "configure",
9347
+ "auth.js"
9319
9348
  ],
9320
9349
  "aliasPermutations": [],
9321
9350
  "permutations": [
9322
- "hardis:project:clean:emptyitems",
9323
- "project:hardis:clean:emptyitems",
9324
- "project:clean:hardis:emptyitems",
9325
- "project:clean:emptyitems:hardis",
9326
- "hardis:clean:project:emptyitems",
9327
- "clean:hardis:project:emptyitems",
9328
- "clean:project:hardis:emptyitems",
9329
- "clean:project:emptyitems:hardis",
9330
- "hardis:clean:emptyitems:project",
9331
- "clean:hardis:emptyitems:project",
9332
- "clean:emptyitems:hardis:project",
9333
- "clean:emptyitems:project:hardis",
9334
- "hardis:project:emptyitems:clean",
9335
- "project:hardis:emptyitems:clean",
9336
- "project:emptyitems:hardis:clean",
9337
- "project:emptyitems:clean:hardis",
9338
- "hardis:emptyitems:project:clean",
9339
- "emptyitems:hardis:project:clean",
9340
- "emptyitems:project:hardis:clean",
9341
- "emptyitems:project:clean:hardis",
9342
- "hardis:emptyitems:clean:project",
9343
- "emptyitems:hardis:clean:project",
9344
- "emptyitems:clean:hardis:project",
9345
- "emptyitems:clean:project:hardis"
9351
+ "hardis:project:configure:auth",
9352
+ "project:hardis:configure:auth",
9353
+ "project:configure:hardis:auth",
9354
+ "project:configure:auth:hardis",
9355
+ "hardis:configure:project:auth",
9356
+ "configure:hardis:project:auth",
9357
+ "configure:project:hardis:auth",
9358
+ "configure:project:auth:hardis",
9359
+ "hardis:configure:auth:project",
9360
+ "configure:hardis:auth:project",
9361
+ "configure:auth:hardis:project",
9362
+ "configure:auth:project:hardis",
9363
+ "hardis:project:auth:configure",
9364
+ "project:hardis:auth:configure",
9365
+ "project:auth:hardis:configure",
9366
+ "project:auth:configure:hardis",
9367
+ "hardis:auth:project:configure",
9368
+ "auth:hardis:project:configure",
9369
+ "auth:project:hardis:configure",
9370
+ "auth:project:configure:hardis",
9371
+ "hardis:auth:configure:project",
9372
+ "auth:hardis:configure:project",
9373
+ "auth:configure:hardis:project",
9374
+ "auth:configure:project:hardis"
9346
9375
  ]
9347
9376
  },
9348
- "hardis:project:clean:filter-xml-content": {
9377
+ "hardis:project:convert:profilestopermsets": {
9378
+ "aliases": [],
9379
+ "args": {},
9380
+ "description": "Creates permission sets from existing profiles, with id PS_PROFILENAME",
9381
+ "examples": [
9382
+ "$ sf hardis:project:convert:profilestopermsets"
9383
+ ],
9384
+ "flags": {
9385
+ "json": {
9386
+ "description": "Format output as json.",
9387
+ "helpGroup": "GLOBAL",
9388
+ "name": "json",
9389
+ "allowNo": false,
9390
+ "type": "boolean"
9391
+ },
9392
+ "flags-dir": {
9393
+ "helpGroup": "GLOBAL",
9394
+ "name": "flags-dir",
9395
+ "summary": "Import flag values from a directory.",
9396
+ "hasDynamicHelp": false,
9397
+ "multiple": false,
9398
+ "type": "option"
9399
+ },
9400
+ "except": {
9401
+ "char": "e",
9402
+ "description": "List of filters",
9403
+ "name": "except",
9404
+ "default": [],
9405
+ "hasDynamicHelp": false,
9406
+ "multiple": true,
9407
+ "type": "option"
9408
+ },
9409
+ "debug": {
9410
+ "char": "d",
9411
+ "description": "Activate debug mode (more logs)",
9412
+ "name": "debug",
9413
+ "allowNo": false,
9414
+ "type": "boolean"
9415
+ },
9416
+ "websocket": {
9417
+ "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
9418
+ "name": "websocket",
9419
+ "hasDynamicHelp": false,
9420
+ "multiple": false,
9421
+ "type": "option"
9422
+ },
9423
+ "skipauth": {
9424
+ "description": "Skip authentication check when a default username is required",
9425
+ "name": "skipauth",
9426
+ "allowNo": false,
9427
+ "type": "boolean"
9428
+ }
9429
+ },
9430
+ "hasDynamicHelp": false,
9431
+ "hiddenAliases": [],
9432
+ "id": "hardis:project:convert:profilestopermsets",
9433
+ "pluginAlias": "sfdx-hardis",
9434
+ "pluginName": "sfdx-hardis",
9435
+ "pluginType": "core",
9436
+ "strict": true,
9437
+ "enableJsonFlag": true,
9438
+ "title": "Convert Profiles into Permission Sets",
9439
+ "requiresProject": true,
9440
+ "requiresSfdxPlugins": [
9441
+ "shane-sfdx-plugins"
9442
+ ],
9443
+ "isESM": true,
9444
+ "relativePath": [
9445
+ "lib",
9446
+ "commands",
9447
+ "hardis",
9448
+ "project",
9449
+ "convert",
9450
+ "profilestopermsets.js"
9451
+ ],
9452
+ "aliasPermutations": [],
9453
+ "permutations": [
9454
+ "hardis:project:convert:profilestopermsets",
9455
+ "project:hardis:convert:profilestopermsets",
9456
+ "project:convert:hardis:profilestopermsets",
9457
+ "project:convert:profilestopermsets:hardis",
9458
+ "hardis:convert:project:profilestopermsets",
9459
+ "convert:hardis:project:profilestopermsets",
9460
+ "convert:project:hardis:profilestopermsets",
9461
+ "convert:project:profilestopermsets:hardis",
9462
+ "hardis:convert:profilestopermsets:project",
9463
+ "convert:hardis:profilestopermsets:project",
9464
+ "convert:profilestopermsets:hardis:project",
9465
+ "convert:profilestopermsets:project:hardis",
9466
+ "hardis:project:profilestopermsets:convert",
9467
+ "project:hardis:profilestopermsets:convert",
9468
+ "project:profilestopermsets:hardis:convert",
9469
+ "project:profilestopermsets:convert:hardis",
9470
+ "hardis:profilestopermsets:project:convert",
9471
+ "profilestopermsets:hardis:project:convert",
9472
+ "profilestopermsets:project:hardis:convert",
9473
+ "profilestopermsets:project:convert:hardis",
9474
+ "hardis:profilestopermsets:convert:project",
9475
+ "profilestopermsets:hardis:convert:project",
9476
+ "profilestopermsets:convert:hardis:project",
9477
+ "profilestopermsets:convert:project:hardis"
9478
+ ]
9479
+ },
9480
+ "hardis:project:clean:emptyitems": {
9481
+ "aliases": [],
9482
+ "args": {},
9483
+ "description": "Remove unwanted empty items within sfdx project sources",
9484
+ "examples": [
9485
+ "$ sf hardis:project:clean:emptyitems"
9486
+ ],
9487
+ "flags": {
9488
+ "json": {
9489
+ "description": "Format output as json.",
9490
+ "helpGroup": "GLOBAL",
9491
+ "name": "json",
9492
+ "allowNo": false,
9493
+ "type": "boolean"
9494
+ },
9495
+ "flags-dir": {
9496
+ "helpGroup": "GLOBAL",
9497
+ "name": "flags-dir",
9498
+ "summary": "Import flag values from a directory.",
9499
+ "hasDynamicHelp": false,
9500
+ "multiple": false,
9501
+ "type": "option"
9502
+ },
9503
+ "folder": {
9504
+ "char": "f",
9505
+ "description": "Root folder",
9506
+ "name": "folder",
9507
+ "default": "force-app",
9508
+ "hasDynamicHelp": false,
9509
+ "multiple": false,
9510
+ "type": "option"
9511
+ },
9512
+ "debug": {
9513
+ "char": "d",
9514
+ "description": "Activate debug mode (more logs)",
9515
+ "name": "debug",
9516
+ "allowNo": false,
9517
+ "type": "boolean"
9518
+ },
9519
+ "websocket": {
9520
+ "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
9521
+ "name": "websocket",
9522
+ "hasDynamicHelp": false,
9523
+ "multiple": false,
9524
+ "type": "option"
9525
+ },
9526
+ "skipauth": {
9527
+ "description": "Skip authentication check when a default username is required",
9528
+ "name": "skipauth",
9529
+ "allowNo": false,
9530
+ "type": "boolean"
9531
+ }
9532
+ },
9533
+ "hasDynamicHelp": false,
9534
+ "hiddenAliases": [],
9535
+ "id": "hardis:project:clean:emptyitems",
9536
+ "pluginAlias": "sfdx-hardis",
9537
+ "pluginName": "sfdx-hardis",
9538
+ "pluginType": "core",
9539
+ "strict": true,
9540
+ "enableJsonFlag": true,
9541
+ "title": "Clean retrieved empty items in dx sources",
9542
+ "requiresProject": true,
9543
+ "isESM": true,
9544
+ "relativePath": [
9545
+ "lib",
9546
+ "commands",
9547
+ "hardis",
9548
+ "project",
9549
+ "clean",
9550
+ "emptyitems.js"
9551
+ ],
9552
+ "aliasPermutations": [],
9553
+ "permutations": [
9554
+ "hardis:project:clean:emptyitems",
9555
+ "project:hardis:clean:emptyitems",
9556
+ "project:clean:hardis:emptyitems",
9557
+ "project:clean:emptyitems:hardis",
9558
+ "hardis:clean:project:emptyitems",
9559
+ "clean:hardis:project:emptyitems",
9560
+ "clean:project:hardis:emptyitems",
9561
+ "clean:project:emptyitems:hardis",
9562
+ "hardis:clean:emptyitems:project",
9563
+ "clean:hardis:emptyitems:project",
9564
+ "clean:emptyitems:hardis:project",
9565
+ "clean:emptyitems:project:hardis",
9566
+ "hardis:project:emptyitems:clean",
9567
+ "project:hardis:emptyitems:clean",
9568
+ "project:emptyitems:hardis:clean",
9569
+ "project:emptyitems:clean:hardis",
9570
+ "hardis:emptyitems:project:clean",
9571
+ "emptyitems:hardis:project:clean",
9572
+ "emptyitems:project:hardis:clean",
9573
+ "emptyitems:project:clean:hardis",
9574
+ "hardis:emptyitems:clean:project",
9575
+ "emptyitems:hardis:clean:project",
9576
+ "emptyitems:clean:hardis:project",
9577
+ "emptyitems:clean:project:hardis"
9578
+ ]
9579
+ },
9580
+ "hardis:project:clean:filter-xml-content": {
9349
9581
  "aliases": [],
9350
9582
  "args": {},
9351
9583
  "description": "Filter content of metadatas (XML) in order to be able to deploy only part of them on an org (See [Example configuration](https://github.com/nvuillam/sfdx-essentials/blob/master/examples/filter-xml-content-config.json))\n\nWhen you perform deployments from one org to another, the features activated in the target org may not fit the content of the sfdx/metadata files extracted from the source org.\n\nYou may need to filter some elements in the XML files, for example in the Profiles\n\nThis script requires a filter-config.json file",
@@ -10698,268 +10930,36 @@
10698
10930
  "lib",
10699
10931
  "commands",
10700
10932
  "hardis",
10701
- "project",
10702
- "clean",
10703
- "xml.js"
10704
- ],
10705
- "aliasPermutations": [],
10706
- "permutations": [
10707
- "hardis:project:clean:xml",
10708
- "project:hardis:clean:xml",
10709
- "project:clean:hardis:xml",
10710
- "project:clean:xml:hardis",
10711
- "hardis:clean:project:xml",
10712
- "clean:hardis:project:xml",
10713
- "clean:project:hardis:xml",
10714
- "clean:project:xml:hardis",
10715
- "hardis:clean:xml:project",
10716
- "clean:hardis:xml:project",
10717
- "clean:xml:hardis:project",
10718
- "clean:xml:project:hardis",
10719
- "hardis:project:xml:clean",
10720
- "project:hardis:xml:clean",
10721
- "project:xml:hardis:clean",
10722
- "project:xml:clean:hardis",
10723
- "hardis:xml:project:clean",
10724
- "xml:hardis:project:clean",
10725
- "xml:project:hardis:clean",
10726
- "xml:project:clean:hardis",
10727
- "hardis:xml:clean:project",
10728
- "xml:hardis:clean:project",
10729
- "xml:clean:hardis:project",
10730
- "xml:clean:project:hardis"
10731
- ]
10732
- },
10733
- "hardis:project:configure:auth": {
10734
- "aliases": [],
10735
- "args": {},
10736
- "description": "Configure authentication from git branch to target org",
10737
- "examples": [
10738
- "$ sf hardis:project:configure:auth"
10739
- ],
10740
- "flags": {
10741
- "json": {
10742
- "description": "Format output as json.",
10743
- "helpGroup": "GLOBAL",
10744
- "name": "json",
10745
- "allowNo": false,
10746
- "type": "boolean"
10747
- },
10748
- "flags-dir": {
10749
- "helpGroup": "GLOBAL",
10750
- "name": "flags-dir",
10751
- "summary": "Import flag values from a directory.",
10752
- "hasDynamicHelp": false,
10753
- "multiple": false,
10754
- "type": "option"
10755
- },
10756
- "devhub": {
10757
- "char": "b",
10758
- "description": "Configure project DevHub",
10759
- "name": "devhub",
10760
- "allowNo": false,
10761
- "type": "boolean"
10762
- },
10763
- "debug": {
10764
- "char": "d",
10765
- "description": "Activate debug mode (more logs)",
10766
- "name": "debug",
10767
- "allowNo": false,
10768
- "type": "boolean"
10769
- },
10770
- "websocket": {
10771
- "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
10772
- "name": "websocket",
10773
- "hasDynamicHelp": false,
10774
- "multiple": false,
10775
- "type": "option"
10776
- },
10777
- "skipauth": {
10778
- "description": "Skip authentication check when a default username is required",
10779
- "name": "skipauth",
10780
- "allowNo": false,
10781
- "type": "boolean"
10782
- },
10783
- "target-org": {
10784
- "aliases": [
10785
- "targetusername",
10786
- "u"
10787
- ],
10788
- "char": "o",
10789
- "deprecateAliases": true,
10790
- "name": "target-org",
10791
- "noCacheDefault": true,
10792
- "summary": "Username or alias of the target org.",
10793
- "hasDynamicHelp": true,
10794
- "multiple": false,
10795
- "type": "option"
10796
- },
10797
- "target-dev-hub": {
10798
- "aliases": [
10799
- "targetdevhubusername"
10800
- ],
10801
- "char": "v",
10802
- "deprecateAliases": true,
10803
- "name": "target-dev-hub",
10804
- "noCacheDefault": true,
10805
- "required": false,
10806
- "summary": "Username or alias of the Dev Hub org.",
10807
- "hasDynamicHelp": true,
10808
- "multiple": false,
10809
- "type": "option"
10810
- }
10811
- },
10812
- "hasDynamicHelp": true,
10813
- "hiddenAliases": [],
10814
- "id": "hardis:project:configure:auth",
10815
- "pluginAlias": "sfdx-hardis",
10816
- "pluginName": "sfdx-hardis",
10817
- "pluginType": "core",
10818
- "strict": true,
10819
- "enableJsonFlag": true,
10820
- "title": "Configure authentication",
10821
- "requiresProject": false,
10822
- "requiresDependencies": [
10823
- "openssl"
10824
- ],
10825
- "isESM": true,
10826
- "relativePath": [
10827
- "lib",
10828
- "commands",
10829
- "hardis",
10830
- "project",
10831
- "configure",
10832
- "auth.js"
10833
- ],
10834
- "aliasPermutations": [],
10835
- "permutations": [
10836
- "hardis:project:configure:auth",
10837
- "project:hardis:configure:auth",
10838
- "project:configure:hardis:auth",
10839
- "project:configure:auth:hardis",
10840
- "hardis:configure:project:auth",
10841
- "configure:hardis:project:auth",
10842
- "configure:project:hardis:auth",
10843
- "configure:project:auth:hardis",
10844
- "hardis:configure:auth:project",
10845
- "configure:hardis:auth:project",
10846
- "configure:auth:hardis:project",
10847
- "configure:auth:project:hardis",
10848
- "hardis:project:auth:configure",
10849
- "project:hardis:auth:configure",
10850
- "project:auth:hardis:configure",
10851
- "project:auth:configure:hardis",
10852
- "hardis:auth:project:configure",
10853
- "auth:hardis:project:configure",
10854
- "auth:project:hardis:configure",
10855
- "auth:project:configure:hardis",
10856
- "hardis:auth:configure:project",
10857
- "auth:hardis:configure:project",
10858
- "auth:configure:hardis:project",
10859
- "auth:configure:project:hardis"
10860
- ]
10861
- },
10862
- "hardis:project:convert:profilestopermsets": {
10863
- "aliases": [],
10864
- "args": {},
10865
- "description": "Creates permission sets from existing profiles, with id PS_PROFILENAME",
10866
- "examples": [
10867
- "$ sf hardis:project:convert:profilestopermsets"
10868
- ],
10869
- "flags": {
10870
- "json": {
10871
- "description": "Format output as json.",
10872
- "helpGroup": "GLOBAL",
10873
- "name": "json",
10874
- "allowNo": false,
10875
- "type": "boolean"
10876
- },
10877
- "flags-dir": {
10878
- "helpGroup": "GLOBAL",
10879
- "name": "flags-dir",
10880
- "summary": "Import flag values from a directory.",
10881
- "hasDynamicHelp": false,
10882
- "multiple": false,
10883
- "type": "option"
10884
- },
10885
- "except": {
10886
- "char": "e",
10887
- "description": "List of filters",
10888
- "name": "except",
10889
- "default": [],
10890
- "hasDynamicHelp": false,
10891
- "multiple": true,
10892
- "type": "option"
10893
- },
10894
- "debug": {
10895
- "char": "d",
10896
- "description": "Activate debug mode (more logs)",
10897
- "name": "debug",
10898
- "allowNo": false,
10899
- "type": "boolean"
10900
- },
10901
- "websocket": {
10902
- "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
10903
- "name": "websocket",
10904
- "hasDynamicHelp": false,
10905
- "multiple": false,
10906
- "type": "option"
10907
- },
10908
- "skipauth": {
10909
- "description": "Skip authentication check when a default username is required",
10910
- "name": "skipauth",
10911
- "allowNo": false,
10912
- "type": "boolean"
10913
- }
10914
- },
10915
- "hasDynamicHelp": false,
10916
- "hiddenAliases": [],
10917
- "id": "hardis:project:convert:profilestopermsets",
10918
- "pluginAlias": "sfdx-hardis",
10919
- "pluginName": "sfdx-hardis",
10920
- "pluginType": "core",
10921
- "strict": true,
10922
- "enableJsonFlag": true,
10923
- "title": "Convert Profiles into Permission Sets",
10924
- "requiresProject": true,
10925
- "requiresSfdxPlugins": [
10926
- "shane-sfdx-plugins"
10927
- ],
10928
- "isESM": true,
10929
- "relativePath": [
10930
- "lib",
10931
- "commands",
10932
- "hardis",
10933
- "project",
10934
- "convert",
10935
- "profilestopermsets.js"
10936
- ],
10937
- "aliasPermutations": [],
10938
- "permutations": [
10939
- "hardis:project:convert:profilestopermsets",
10940
- "project:hardis:convert:profilestopermsets",
10941
- "project:convert:hardis:profilestopermsets",
10942
- "project:convert:profilestopermsets:hardis",
10943
- "hardis:convert:project:profilestopermsets",
10944
- "convert:hardis:project:profilestopermsets",
10945
- "convert:project:hardis:profilestopermsets",
10946
- "convert:project:profilestopermsets:hardis",
10947
- "hardis:convert:profilestopermsets:project",
10948
- "convert:hardis:profilestopermsets:project",
10949
- "convert:profilestopermsets:hardis:project",
10950
- "convert:profilestopermsets:project:hardis",
10951
- "hardis:project:profilestopermsets:convert",
10952
- "project:hardis:profilestopermsets:convert",
10953
- "project:profilestopermsets:hardis:convert",
10954
- "project:profilestopermsets:convert:hardis",
10955
- "hardis:profilestopermsets:project:convert",
10956
- "profilestopermsets:hardis:project:convert",
10957
- "profilestopermsets:project:hardis:convert",
10958
- "profilestopermsets:project:convert:hardis",
10959
- "hardis:profilestopermsets:convert:project",
10960
- "profilestopermsets:hardis:convert:project",
10961
- "profilestopermsets:convert:hardis:project",
10962
- "profilestopermsets:convert:project:hardis"
10933
+ "project",
10934
+ "clean",
10935
+ "xml.js"
10936
+ ],
10937
+ "aliasPermutations": [],
10938
+ "permutations": [
10939
+ "hardis:project:clean:xml",
10940
+ "project:hardis:clean:xml",
10941
+ "project:clean:hardis:xml",
10942
+ "project:clean:xml:hardis",
10943
+ "hardis:clean:project:xml",
10944
+ "clean:hardis:project:xml",
10945
+ "clean:project:hardis:xml",
10946
+ "clean:project:xml:hardis",
10947
+ "hardis:clean:xml:project",
10948
+ "clean:hardis:xml:project",
10949
+ "clean:xml:hardis:project",
10950
+ "clean:xml:project:hardis",
10951
+ "hardis:project:xml:clean",
10952
+ "project:hardis:xml:clean",
10953
+ "project:xml:hardis:clean",
10954
+ "project:xml:clean:hardis",
10955
+ "hardis:xml:project:clean",
10956
+ "xml:hardis:project:clean",
10957
+ "xml:project:hardis:clean",
10958
+ "xml:project:clean:hardis",
10959
+ "hardis:xml:clean:project",
10960
+ "xml:hardis:clean:project",
10961
+ "xml:clean:hardis:project",
10962
+ "xml:clean:project:hardis"
10963
10963
  ]
10964
10964
  },
10965
10965
  "hardis:project:deploy:notify": {
@@ -12352,6 +12352,119 @@
12352
12352
  "v53flexipages:fix:project:hardis"
12353
12353
  ]
12354
12354
  },
12355
+ "hardis:project:metadata:findduplicates": {
12356
+ "aliases": [],
12357
+ "args": {},
12358
+ "description": "find duplicate values in XML file(s).\n Find duplicate values in XML file(s). Keys to be checked can be configured in `config/sfdx-hardis.yml` using property metadataDuplicateFindKeys.\n\nDefault config :\nmetadataDuplicateFindKeys :\n[object Object]\n",
12359
+ "examples": [
12360
+ "\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Layout xmlns=\"http://soap.sforce.com/2006/04/metadata\">\n <layoutSections>\n ...\n <layoutColumns>\n <layoutItems>\n <behavior>Required</behavior>\n <field>Name</field>\n </layoutItems>\n <layoutItems>\n <behavior>Required</behavior>\n <field>Name</field>\n </layoutItems>\n </layoutColumns>\n </layoutSections>\n</Layout>\n",
12361
+ "\n$ sf hardis:project:metadata:findduplicates --file layout.layout-meta.xml\n[sfdx-hardis] Duplicate values in layout.layout-meta.xml\n - Key : Layout.layoutSections.layoutColumns.layoutItems.field\n - Values : Name\n",
12362
+ "\n$ sf hardis:project.metadata:findduplicates -f \"force-app/main/default/**/*.xml\"\n[sfdx-hardis] hardis:project:metadata:findduplicates execution time 0:00:00.397\n[sfdx-hardis] Duplicate values in layout1.layout-meta.xml\n - Key : Layout.layoutSections.layoutColumns.layoutItems.field\n - Values : CreatedById\n\n[sfdx-hardis] Duplicate values in layout2.layout-meta.xml\n - Key : Layout.layoutSections.layoutColumns.layoutItems.field\n - Values : LastModifiedById, Name\n"
12363
+ ],
12364
+ "flags": {
12365
+ "json": {
12366
+ "description": "Format output as json.",
12367
+ "helpGroup": "GLOBAL",
12368
+ "name": "json",
12369
+ "allowNo": false,
12370
+ "type": "boolean"
12371
+ },
12372
+ "flags-dir": {
12373
+ "helpGroup": "GLOBAL",
12374
+ "name": "flags-dir",
12375
+ "summary": "Import flag values from a directory.",
12376
+ "hasDynamicHelp": false,
12377
+ "multiple": false,
12378
+ "type": "option"
12379
+ },
12380
+ "files": {
12381
+ "char": "f",
12382
+ "description": "XML metadata files path",
12383
+ "name": "files",
12384
+ "hasDynamicHelp": false,
12385
+ "multiple": true,
12386
+ "type": "option"
12387
+ },
12388
+ "websocket": {
12389
+ "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
12390
+ "name": "websocket",
12391
+ "hasDynamicHelp": false,
12392
+ "multiple": false,
12393
+ "type": "option"
12394
+ },
12395
+ "skipauth": {
12396
+ "description": "Skip authentication check when a default username is required",
12397
+ "name": "skipauth",
12398
+ "allowNo": false,
12399
+ "type": "boolean"
12400
+ }
12401
+ },
12402
+ "hasDynamicHelp": false,
12403
+ "hiddenAliases": [],
12404
+ "id": "hardis:project:metadata:findduplicates",
12405
+ "pluginAlias": "sfdx-hardis",
12406
+ "pluginName": "sfdx-hardis",
12407
+ "pluginType": "core",
12408
+ "strict": true,
12409
+ "enableJsonFlag": true,
12410
+ "metadataDuplicateFindKeys": {
12411
+ "layout": [
12412
+ "Layout.layoutSections.layoutColumns.layoutItems.field",
12413
+ "Layout.quickActionListItems.quickActionName"
12414
+ ],
12415
+ "profile": [
12416
+ "Profile.fieldPermissions.field",
12417
+ "Profile.objectPermissions.object",
12418
+ "Profile.classAccesses.apexClass"
12419
+ ],
12420
+ "labels": [
12421
+ "CustomLabels.labels.fullName"
12422
+ ],
12423
+ "permissionset": [
12424
+ "PermissionSet.fieldPermissions.field",
12425
+ "PermissionSet.objectPermissions.object",
12426
+ "PermissionSet.classAccesses.apexClass"
12427
+ ]
12428
+ },
12429
+ "title": "XML duplicate values finder",
12430
+ "requiresProject": true,
12431
+ "isESM": true,
12432
+ "relativePath": [
12433
+ "lib",
12434
+ "commands",
12435
+ "hardis",
12436
+ "project",
12437
+ "metadata",
12438
+ "findduplicates.js"
12439
+ ],
12440
+ "aliasPermutations": [],
12441
+ "permutations": [
12442
+ "hardis:project:metadata:findduplicates",
12443
+ "project:hardis:metadata:findduplicates",
12444
+ "project:metadata:hardis:findduplicates",
12445
+ "project:metadata:findduplicates:hardis",
12446
+ "hardis:metadata:project:findduplicates",
12447
+ "metadata:hardis:project:findduplicates",
12448
+ "metadata:project:hardis:findduplicates",
12449
+ "metadata:project:findduplicates:hardis",
12450
+ "hardis:metadata:findduplicates:project",
12451
+ "metadata:hardis:findduplicates:project",
12452
+ "metadata:findduplicates:hardis:project",
12453
+ "metadata:findduplicates:project:hardis",
12454
+ "hardis:project:findduplicates:metadata",
12455
+ "project:hardis:findduplicates:metadata",
12456
+ "project:findduplicates:hardis:metadata",
12457
+ "project:findduplicates:metadata:hardis",
12458
+ "hardis:findduplicates:project:metadata",
12459
+ "findduplicates:hardis:project:metadata",
12460
+ "findduplicates:project:hardis:metadata",
12461
+ "findduplicates:project:metadata:hardis",
12462
+ "hardis:findduplicates:metadata:project",
12463
+ "findduplicates:hardis:metadata:project",
12464
+ "findduplicates:metadata:hardis:project",
12465
+ "findduplicates:metadata:project:hardis"
12466
+ ]
12467
+ },
12355
12468
  "hardis:project:generate:bypass": {
12356
12469
  "aliases": [],
12357
12470
  "args": {},
@@ -12718,119 +12831,6 @@
12718
12831
  "gitdelta:generate:project:hardis"
12719
12832
  ]
12720
12833
  },
12721
- "hardis:project:metadata:findduplicates": {
12722
- "aliases": [],
12723
- "args": {},
12724
- "description": "find duplicate values in XML file(s).\n Find duplicate values in XML file(s). Keys to be checked can be configured in `config/sfdx-hardis.yml` using property metadataDuplicateFindKeys.\n\nDefault config :\nmetadataDuplicateFindKeys :\n[object Object]\n",
12725
- "examples": [
12726
- "\n<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<Layout xmlns=\"http://soap.sforce.com/2006/04/metadata\">\n <layoutSections>\n ...\n <layoutColumns>\n <layoutItems>\n <behavior>Required</behavior>\n <field>Name</field>\n </layoutItems>\n <layoutItems>\n <behavior>Required</behavior>\n <field>Name</field>\n </layoutItems>\n </layoutColumns>\n </layoutSections>\n</Layout>\n",
12727
- "\n$ sf hardis:project:metadata:findduplicates --file layout.layout-meta.xml\n[sfdx-hardis] Duplicate values in layout.layout-meta.xml\n - Key : Layout.layoutSections.layoutColumns.layoutItems.field\n - Values : Name\n",
12728
- "\n$ sf hardis:project.metadata:findduplicates -f \"force-app/main/default/**/*.xml\"\n[sfdx-hardis] hardis:project:metadata:findduplicates execution time 0:00:00.397\n[sfdx-hardis] Duplicate values in layout1.layout-meta.xml\n - Key : Layout.layoutSections.layoutColumns.layoutItems.field\n - Values : CreatedById\n\n[sfdx-hardis] Duplicate values in layout2.layout-meta.xml\n - Key : Layout.layoutSections.layoutColumns.layoutItems.field\n - Values : LastModifiedById, Name\n"
12729
- ],
12730
- "flags": {
12731
- "json": {
12732
- "description": "Format output as json.",
12733
- "helpGroup": "GLOBAL",
12734
- "name": "json",
12735
- "allowNo": false,
12736
- "type": "boolean"
12737
- },
12738
- "flags-dir": {
12739
- "helpGroup": "GLOBAL",
12740
- "name": "flags-dir",
12741
- "summary": "Import flag values from a directory.",
12742
- "hasDynamicHelp": false,
12743
- "multiple": false,
12744
- "type": "option"
12745
- },
12746
- "files": {
12747
- "char": "f",
12748
- "description": "XML metadata files path",
12749
- "name": "files",
12750
- "hasDynamicHelp": false,
12751
- "multiple": true,
12752
- "type": "option"
12753
- },
12754
- "websocket": {
12755
- "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
12756
- "name": "websocket",
12757
- "hasDynamicHelp": false,
12758
- "multiple": false,
12759
- "type": "option"
12760
- },
12761
- "skipauth": {
12762
- "description": "Skip authentication check when a default username is required",
12763
- "name": "skipauth",
12764
- "allowNo": false,
12765
- "type": "boolean"
12766
- }
12767
- },
12768
- "hasDynamicHelp": false,
12769
- "hiddenAliases": [],
12770
- "id": "hardis:project:metadata:findduplicates",
12771
- "pluginAlias": "sfdx-hardis",
12772
- "pluginName": "sfdx-hardis",
12773
- "pluginType": "core",
12774
- "strict": true,
12775
- "enableJsonFlag": true,
12776
- "metadataDuplicateFindKeys": {
12777
- "layout": [
12778
- "Layout.layoutSections.layoutColumns.layoutItems.field",
12779
- "Layout.quickActionListItems.quickActionName"
12780
- ],
12781
- "profile": [
12782
- "Profile.fieldPermissions.field",
12783
- "Profile.objectPermissions.object",
12784
- "Profile.classAccesses.apexClass"
12785
- ],
12786
- "labels": [
12787
- "CustomLabels.labels.fullName"
12788
- ],
12789
- "permissionset": [
12790
- "PermissionSet.fieldPermissions.field",
12791
- "PermissionSet.objectPermissions.object",
12792
- "PermissionSet.classAccesses.apexClass"
12793
- ]
12794
- },
12795
- "title": "XML duplicate values finder",
12796
- "requiresProject": true,
12797
- "isESM": true,
12798
- "relativePath": [
12799
- "lib",
12800
- "commands",
12801
- "hardis",
12802
- "project",
12803
- "metadata",
12804
- "findduplicates.js"
12805
- ],
12806
- "aliasPermutations": [],
12807
- "permutations": [
12808
- "hardis:project:metadata:findduplicates",
12809
- "project:hardis:metadata:findduplicates",
12810
- "project:metadata:hardis:findduplicates",
12811
- "project:metadata:findduplicates:hardis",
12812
- "hardis:metadata:project:findduplicates",
12813
- "metadata:hardis:project:findduplicates",
12814
- "metadata:project:hardis:findduplicates",
12815
- "metadata:project:findduplicates:hardis",
12816
- "hardis:metadata:findduplicates:project",
12817
- "metadata:hardis:findduplicates:project",
12818
- "metadata:findduplicates:hardis:project",
12819
- "metadata:findduplicates:project:hardis",
12820
- "hardis:project:findduplicates:metadata",
12821
- "project:hardis:findduplicates:metadata",
12822
- "project:findduplicates:hardis:metadata",
12823
- "project:findduplicates:metadata:hardis",
12824
- "hardis:findduplicates:project:metadata",
12825
- "findduplicates:hardis:project:metadata",
12826
- "findduplicates:project:hardis:metadata",
12827
- "findduplicates:project:metadata:hardis",
12828
- "hardis:findduplicates:metadata:project",
12829
- "findduplicates:hardis:metadata:project",
12830
- "findduplicates:metadata:hardis:project",
12831
- "findduplicates:metadata:project:hardis"
12832
- ]
12833
- },
12834
12834
  "hardis:scratch:pool:create": {
12835
12835
  "aliases": [],
12836
12836
  "args": {},
@@ -14805,5 +14805,5 @@
14805
14805
  ]
14806
14806
  }
14807
14807
  },
14808
- "version": "5.42.0"
14808
+ "version": "5.43.0"
14809
14809
  }