sfdx-hardis 6.6.0 → 6.6.1-beta202510111519.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.
@@ -132,13 +132,12 @@
132
132
  "clear:cache:hardis"
133
133
  ]
134
134
  },
135
- "hardis:auth:login": {
135
+ "hardis:config:get": {
136
136
  "aliases": [],
137
137
  "args": {},
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",
138
+ "description": "\n## Command Behavior\n\n**Retrieves and displays the sfdx-hardis configuration for a specified level.**\n\nThis command allows you to inspect the configuration that is currently in effect for your project, which is useful for debugging and understanding how sfdx-hardis will behave.\n\n- **Configuration levels:** It can retrieve configuration from three different levels:\n - **Project:** The configuration defined in the project's `.sfdx-hardis.yml` file.\n - **Branch:** The configuration defined in a branch-specific configuration file (e.g., `.sfdx-hardis.production.yml`).\n - **User:** The global user-level configuration.\n\n## Technical explanations\n\nThe command's logic is straightforward:\n\n- **`getConfig` function:** It calls the `getConfig` utility function, passing the desired configuration level as an argument.\n- **Configuration loading:** The `getConfig` function is responsible for finding the appropriate configuration file, reading its contents, and parsing it as YAML or JSON.\n- **Output:** The retrieved configuration is then displayed to the user as a JSON string.\n",
139
139
  "examples": [
140
- "$ sf hardis:auth:login",
141
- "CI=true sf hardis:auth:login"
140
+ "$ sf hardis:project:deploy:sources:metadata"
142
141
  ],
143
142
  "flags": {
144
143
  "json": {
@@ -156,28 +155,20 @@
156
155
  "multiple": false,
157
156
  "type": "option"
158
157
  },
159
- "instanceurl": {
160
- "char": "r",
161
- "description": "URL of org instance",
162
- "name": "instanceurl",
158
+ "level": {
159
+ "char": "l",
160
+ "description": "project,branch or user",
161
+ "name": "level",
162
+ "default": "project",
163
163
  "hasDynamicHelp": false,
164
164
  "multiple": false,
165
+ "options": [
166
+ "project",
167
+ "branch",
168
+ "user"
169
+ ],
165
170
  "type": "option"
166
171
  },
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
- },
181
172
  "debug": {
182
173
  "char": "d",
183
174
  "description": "Activate debug mode (more logs)",
@@ -201,38 +192,39 @@
201
192
  },
202
193
  "hasDynamicHelp": false,
203
194
  "hiddenAliases": [],
204
- "id": "hardis:auth:login",
195
+ "id": "hardis:config:get",
205
196
  "pluginAlias": "sfdx-hardis",
206
197
  "pluginName": "sfdx-hardis",
207
198
  "pluginType": "core",
208
199
  "strict": true,
209
200
  "enableJsonFlag": true,
210
- "title": "Login",
201
+ "title": "Deploy metadata sources to org",
211
202
  "requiresProject": false,
212
203
  "isESM": true,
213
204
  "relativePath": [
214
205
  "lib",
215
206
  "commands",
216
207
  "hardis",
217
- "auth",
218
- "login.js"
208
+ "config",
209
+ "get.js"
219
210
  ],
220
211
  "aliasPermutations": [],
221
212
  "permutations": [
222
- "hardis:auth:login",
223
- "auth:hardis:login",
224
- "auth:login:hardis",
225
- "hardis:login:auth",
226
- "login:hardis:auth",
227
- "login:auth:hardis"
213
+ "hardis:config:get",
214
+ "config:hardis:get",
215
+ "config:get:hardis",
216
+ "hardis:get:config",
217
+ "get:hardis:config",
218
+ "get:config:hardis"
228
219
  ]
229
220
  },
230
- "hardis:config:get": {
221
+ "hardis:auth:login": {
231
222
  "aliases": [],
232
223
  "args": {},
233
- "description": "\n## Command Behavior\n\n**Retrieves and displays the sfdx-hardis configuration for a specified level.**\n\nThis command allows you to inspect the configuration that is currently in effect for your project, which is useful for debugging and understanding how sfdx-hardis will behave.\n\n- **Configuration levels:** It can retrieve configuration from three different levels:\n - **Project:** The configuration defined in the project's `.sfdx-hardis.yml` file.\n - **Branch:** The configuration defined in a branch-specific configuration file (e.g., `.sfdx-hardis.production.yml`).\n - **User:** The global user-level configuration.\n\n## Technical explanations\n\nThe command's logic is straightforward:\n\n- **`getConfig` function:** It calls the `getConfig` utility function, passing the desired configuration level as an argument.\n- **Configuration loading:** The `getConfig` function is responsible for finding the appropriate configuration file, reading its contents, and parsing it as YAML or JSON.\n- **Output:** The retrieved configuration is then displayed to the user as a JSON string.\n",
224
+ "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",
234
225
  "examples": [
235
- "$ sf hardis:project:deploy:sources:metadata"
226
+ "$ sf hardis:auth:login",
227
+ "CI=true sf hardis:auth:login"
236
228
  ],
237
229
  "flags": {
238
230
  "json": {
@@ -250,20 +242,28 @@
250
242
  "multiple": false,
251
243
  "type": "option"
252
244
  },
253
- "level": {
254
- "char": "l",
255
- "description": "project,branch or user",
256
- "name": "level",
257
- "default": "project",
245
+ "instanceurl": {
246
+ "char": "r",
247
+ "description": "URL of org instance",
248
+ "name": "instanceurl",
258
249
  "hasDynamicHelp": false,
259
250
  "multiple": false,
260
- "options": [
261
- "project",
262
- "branch",
263
- "user"
264
- ],
265
251
  "type": "option"
266
252
  },
253
+ "devhub": {
254
+ "char": "h",
255
+ "description": "Also connect associated DevHub",
256
+ "name": "devhub",
257
+ "allowNo": false,
258
+ "type": "boolean"
259
+ },
260
+ "scratchorg": {
261
+ "char": "s",
262
+ "description": "Scratch org",
263
+ "name": "scratchorg",
264
+ "allowNo": false,
265
+ "type": "boolean"
266
+ },
267
267
  "debug": {
268
268
  "char": "d",
269
269
  "description": "Activate debug mode (more logs)",
@@ -287,30 +287,30 @@
287
287
  },
288
288
  "hasDynamicHelp": false,
289
289
  "hiddenAliases": [],
290
- "id": "hardis:config:get",
290
+ "id": "hardis:auth:login",
291
291
  "pluginAlias": "sfdx-hardis",
292
292
  "pluginName": "sfdx-hardis",
293
293
  "pluginType": "core",
294
294
  "strict": true,
295
295
  "enableJsonFlag": true,
296
- "title": "Deploy metadata sources to org",
296
+ "title": "Login",
297
297
  "requiresProject": false,
298
298
  "isESM": true,
299
299
  "relativePath": [
300
300
  "lib",
301
301
  "commands",
302
302
  "hardis",
303
- "config",
304
- "get.js"
303
+ "auth",
304
+ "login.js"
305
305
  ],
306
306
  "aliasPermutations": [],
307
307
  "permutations": [
308
- "hardis:config:get",
309
- "config:hardis:get",
310
- "config:get:hardis",
311
- "hardis:get:config",
312
- "get:hardis:config",
313
- "get:config:hardis"
308
+ "hardis:auth:login",
309
+ "auth:hardis:login",
310
+ "auth:login:hardis",
311
+ "hardis:login:auth",
312
+ "login:hardis:auth",
313
+ "login:auth:hardis"
314
314
  ]
315
315
  },
316
316
  "hardis:doc:fieldusage": {
@@ -12796,119 +12796,6 @@
12796
12796
  "validate:deploy:project:hardis"
12797
12797
  ]
12798
12798
  },
12799
- "hardis:project:metadata:findduplicates": {
12800
- "aliases": [],
12801
- "args": {},
12802
- "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",
12803
- "examples": [
12804
- "\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",
12805
- "\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",
12806
- "\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"
12807
- ],
12808
- "flags": {
12809
- "json": {
12810
- "description": "Format output as json.",
12811
- "helpGroup": "GLOBAL",
12812
- "name": "json",
12813
- "allowNo": false,
12814
- "type": "boolean"
12815
- },
12816
- "flags-dir": {
12817
- "helpGroup": "GLOBAL",
12818
- "name": "flags-dir",
12819
- "summary": "Import flag values from a directory.",
12820
- "hasDynamicHelp": false,
12821
- "multiple": false,
12822
- "type": "option"
12823
- },
12824
- "files": {
12825
- "char": "f",
12826
- "description": "XML metadata files path",
12827
- "name": "files",
12828
- "hasDynamicHelp": false,
12829
- "multiple": true,
12830
- "type": "option"
12831
- },
12832
- "websocket": {
12833
- "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
12834
- "name": "websocket",
12835
- "hasDynamicHelp": false,
12836
- "multiple": false,
12837
- "type": "option"
12838
- },
12839
- "skipauth": {
12840
- "description": "Skip authentication check when a default username is required",
12841
- "name": "skipauth",
12842
- "allowNo": false,
12843
- "type": "boolean"
12844
- }
12845
- },
12846
- "hasDynamicHelp": false,
12847
- "hiddenAliases": [],
12848
- "id": "hardis:project:metadata:findduplicates",
12849
- "pluginAlias": "sfdx-hardis",
12850
- "pluginName": "sfdx-hardis",
12851
- "pluginType": "core",
12852
- "strict": true,
12853
- "enableJsonFlag": true,
12854
- "metadataDuplicateFindKeys": {
12855
- "layout": [
12856
- "Layout.layoutSections.layoutColumns.layoutItems.field",
12857
- "Layout.quickActionListItems.quickActionName"
12858
- ],
12859
- "profile": [
12860
- "Profile.fieldPermissions.field",
12861
- "Profile.objectPermissions.object",
12862
- "Profile.classAccesses.apexClass"
12863
- ],
12864
- "labels": [
12865
- "CustomLabels.labels.fullName"
12866
- ],
12867
- "permissionset": [
12868
- "PermissionSet.fieldPermissions.field",
12869
- "PermissionSet.objectPermissions.object",
12870
- "PermissionSet.classAccesses.apexClass"
12871
- ]
12872
- },
12873
- "title": "XML duplicate values finder",
12874
- "requiresProject": true,
12875
- "isESM": true,
12876
- "relativePath": [
12877
- "lib",
12878
- "commands",
12879
- "hardis",
12880
- "project",
12881
- "metadata",
12882
- "findduplicates.js"
12883
- ],
12884
- "aliasPermutations": [],
12885
- "permutations": [
12886
- "hardis:project:metadata:findduplicates",
12887
- "project:hardis:metadata:findduplicates",
12888
- "project:metadata:hardis:findduplicates",
12889
- "project:metadata:findduplicates:hardis",
12890
- "hardis:metadata:project:findduplicates",
12891
- "metadata:hardis:project:findduplicates",
12892
- "metadata:project:hardis:findduplicates",
12893
- "metadata:project:findduplicates:hardis",
12894
- "hardis:metadata:findduplicates:project",
12895
- "metadata:hardis:findduplicates:project",
12896
- "metadata:findduplicates:hardis:project",
12897
- "metadata:findduplicates:project:hardis",
12898
- "hardis:project:findduplicates:metadata",
12899
- "project:hardis:findduplicates:metadata",
12900
- "project:findduplicates:hardis:metadata",
12901
- "project:findduplicates:metadata:hardis",
12902
- "hardis:findduplicates:project:metadata",
12903
- "findduplicates:hardis:project:metadata",
12904
- "findduplicates:project:hardis:metadata",
12905
- "findduplicates:project:metadata:hardis",
12906
- "hardis:findduplicates:metadata:project",
12907
- "findduplicates:hardis:metadata:project",
12908
- "findduplicates:metadata:hardis:project",
12909
- "findduplicates:metadata:project:hardis"
12910
- ]
12911
- },
12912
12799
  "hardis:project:generate:bypass": {
12913
12800
  "aliases": [],
12914
12801
  "args": {},
@@ -13304,6 +13191,210 @@
13304
13191
  "gitdelta:generate:project:hardis"
13305
13192
  ]
13306
13193
  },
13194
+ "hardis:project:metadata:activate-decomposed": {
13195
+ "aliases": [],
13196
+ "args": {},
13197
+ "description": "\n## Command Behavior\n\n**Activate decomposed metadata types in Salesforce DX projects.**\n\nThis command helps manage decomposed metadata types that can be split into multiple files in source format. It automatically decomposes all supported metadata types that exist in your project.\n\nSupported metadata types (Beta):\n- CustomLabels\n- PermissionSet\n- ExternalServiceRegistration\n- SharingRules\n- Workflow\n\nSee [Salesforce documentation on decomposed metadata](https://developer.salesforce.com/docs/atlas.en-us.sfdx_dev.meta/sfdx_dev/sfdx_dev_ws_decomposed_md_types.htm)\n\nKey features:\n- Automatically detects and decomposes all applicable metadata types\n- Decomposes only metadata types that exist in your project\n- Interactive confirmation for decomposition operations\n- Handles all confirmation prompts automatically\n\n<details markdown=\"1\">\n<summary>Technical explanations</summary>\n\nThis command utilizes Salesforce CLI's decomposed metadata feature to split complex metadata types into smaller, more manageable components:\n\n- **CustomLabels**: Each custom label becomes a separate file, making it easier to track changes and manage translations.\n- **PermissionSets**: Permission sets are decomposed into multiple files based on the permissions they contain (field permissions, object permissions, etc.).\n- **ExternalServiceRegistration**: Decomposes external service registrations.\n- **SharingRules**: Decomposes sharing rules into individual components.\n- **Workflow**: Decomposes workflow rules into individual components.\n\nThe command wraps the underlying Salesforce CLI functionality and provides a more user-friendly interface with additional validation and error handling.\n\nNote: All decomposed metadata features are currently in Beta in Salesforce CLI.\n</details>\n",
13198
+ "examples": [
13199
+ "$ sf hardis:project:metadata:activate-decomposed",
13200
+ "$ sf hardis:project:metadata:activate-decomposed --debug"
13201
+ ],
13202
+ "flags": {
13203
+ "json": {
13204
+ "description": "Format output as json.",
13205
+ "helpGroup": "GLOBAL",
13206
+ "name": "json",
13207
+ "allowNo": false,
13208
+ "type": "boolean"
13209
+ },
13210
+ "flags-dir": {
13211
+ "helpGroup": "GLOBAL",
13212
+ "name": "flags-dir",
13213
+ "summary": "Import flag values from a directory.",
13214
+ "hasDynamicHelp": false,
13215
+ "multiple": false,
13216
+ "type": "option"
13217
+ },
13218
+ "debug": {
13219
+ "char": "d",
13220
+ "description": "Run command in debug mode",
13221
+ "name": "debug",
13222
+ "allowNo": false,
13223
+ "type": "boolean"
13224
+ },
13225
+ "websocket": {
13226
+ "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
13227
+ "name": "websocket",
13228
+ "hasDynamicHelp": false,
13229
+ "multiple": false,
13230
+ "type": "option"
13231
+ },
13232
+ "skipauth": {
13233
+ "description": "Skip authentication check when a default username is required",
13234
+ "name": "skipauth",
13235
+ "allowNo": false,
13236
+ "type": "boolean"
13237
+ }
13238
+ },
13239
+ "hasDynamicHelp": false,
13240
+ "hiddenAliases": [],
13241
+ "id": "hardis:project:metadata:activate-decomposed",
13242
+ "pluginAlias": "sfdx-hardis",
13243
+ "pluginName": "sfdx-hardis",
13244
+ "pluginType": "core",
13245
+ "strict": true,
13246
+ "enableJsonFlag": true,
13247
+ "title": "Activate Decomposed Metadata (Beta)",
13248
+ "isESM": true,
13249
+ "relativePath": [
13250
+ "lib",
13251
+ "commands",
13252
+ "hardis",
13253
+ "project",
13254
+ "metadata",
13255
+ "activate-decomposed.js"
13256
+ ],
13257
+ "aliasPermutations": [],
13258
+ "permutations": [
13259
+ "hardis:project:metadata:activate-decomposed",
13260
+ "project:hardis:metadata:activate-decomposed",
13261
+ "project:metadata:hardis:activate-decomposed",
13262
+ "project:metadata:activate-decomposed:hardis",
13263
+ "hardis:metadata:project:activate-decomposed",
13264
+ "metadata:hardis:project:activate-decomposed",
13265
+ "metadata:project:hardis:activate-decomposed",
13266
+ "metadata:project:activate-decomposed:hardis",
13267
+ "hardis:metadata:activate-decomposed:project",
13268
+ "metadata:hardis:activate-decomposed:project",
13269
+ "metadata:activate-decomposed:hardis:project",
13270
+ "metadata:activate-decomposed:project:hardis",
13271
+ "hardis:project:activate-decomposed:metadata",
13272
+ "project:hardis:activate-decomposed:metadata",
13273
+ "project:activate-decomposed:hardis:metadata",
13274
+ "project:activate-decomposed:metadata:hardis",
13275
+ "hardis:activate-decomposed:project:metadata",
13276
+ "activate-decomposed:hardis:project:metadata",
13277
+ "activate-decomposed:project:hardis:metadata",
13278
+ "activate-decomposed:project:metadata:hardis",
13279
+ "hardis:activate-decomposed:metadata:project",
13280
+ "activate-decomposed:hardis:metadata:project",
13281
+ "activate-decomposed:metadata:hardis:project",
13282
+ "activate-decomposed:metadata:project:hardis"
13283
+ ]
13284
+ },
13285
+ "hardis:project:metadata:findduplicates": {
13286
+ "aliases": [],
13287
+ "args": {},
13288
+ "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",
13289
+ "examples": [
13290
+ "\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",
13291
+ "\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",
13292
+ "\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"
13293
+ ],
13294
+ "flags": {
13295
+ "json": {
13296
+ "description": "Format output as json.",
13297
+ "helpGroup": "GLOBAL",
13298
+ "name": "json",
13299
+ "allowNo": false,
13300
+ "type": "boolean"
13301
+ },
13302
+ "flags-dir": {
13303
+ "helpGroup": "GLOBAL",
13304
+ "name": "flags-dir",
13305
+ "summary": "Import flag values from a directory.",
13306
+ "hasDynamicHelp": false,
13307
+ "multiple": false,
13308
+ "type": "option"
13309
+ },
13310
+ "files": {
13311
+ "char": "f",
13312
+ "description": "XML metadata files path",
13313
+ "name": "files",
13314
+ "hasDynamicHelp": false,
13315
+ "multiple": true,
13316
+ "type": "option"
13317
+ },
13318
+ "websocket": {
13319
+ "description": "Websocket host:port for VsCode SFDX Hardis UI integration",
13320
+ "name": "websocket",
13321
+ "hasDynamicHelp": false,
13322
+ "multiple": false,
13323
+ "type": "option"
13324
+ },
13325
+ "skipauth": {
13326
+ "description": "Skip authentication check when a default username is required",
13327
+ "name": "skipauth",
13328
+ "allowNo": false,
13329
+ "type": "boolean"
13330
+ }
13331
+ },
13332
+ "hasDynamicHelp": false,
13333
+ "hiddenAliases": [],
13334
+ "id": "hardis:project:metadata:findduplicates",
13335
+ "pluginAlias": "sfdx-hardis",
13336
+ "pluginName": "sfdx-hardis",
13337
+ "pluginType": "core",
13338
+ "strict": true,
13339
+ "enableJsonFlag": true,
13340
+ "metadataDuplicateFindKeys": {
13341
+ "layout": [
13342
+ "Layout.layoutSections.layoutColumns.layoutItems.field",
13343
+ "Layout.quickActionListItems.quickActionName"
13344
+ ],
13345
+ "profile": [
13346
+ "Profile.fieldPermissions.field",
13347
+ "Profile.objectPermissions.object",
13348
+ "Profile.classAccesses.apexClass"
13349
+ ],
13350
+ "labels": [
13351
+ "CustomLabels.labels.fullName"
13352
+ ],
13353
+ "permissionset": [
13354
+ "PermissionSet.fieldPermissions.field",
13355
+ "PermissionSet.objectPermissions.object",
13356
+ "PermissionSet.classAccesses.apexClass"
13357
+ ]
13358
+ },
13359
+ "title": "XML duplicate values finder",
13360
+ "requiresProject": true,
13361
+ "isESM": true,
13362
+ "relativePath": [
13363
+ "lib",
13364
+ "commands",
13365
+ "hardis",
13366
+ "project",
13367
+ "metadata",
13368
+ "findduplicates.js"
13369
+ ],
13370
+ "aliasPermutations": [],
13371
+ "permutations": [
13372
+ "hardis:project:metadata:findduplicates",
13373
+ "project:hardis:metadata:findduplicates",
13374
+ "project:metadata:hardis:findduplicates",
13375
+ "project:metadata:findduplicates:hardis",
13376
+ "hardis:metadata:project:findduplicates",
13377
+ "metadata:hardis:project:findduplicates",
13378
+ "metadata:project:hardis:findduplicates",
13379
+ "metadata:project:findduplicates:hardis",
13380
+ "hardis:metadata:findduplicates:project",
13381
+ "metadata:hardis:findduplicates:project",
13382
+ "metadata:findduplicates:hardis:project",
13383
+ "metadata:findduplicates:project:hardis",
13384
+ "hardis:project:findduplicates:metadata",
13385
+ "project:hardis:findduplicates:metadata",
13386
+ "project:findduplicates:hardis:metadata",
13387
+ "project:findduplicates:metadata:hardis",
13388
+ "hardis:findduplicates:project:metadata",
13389
+ "findduplicates:hardis:project:metadata",
13390
+ "findduplicates:project:hardis:metadata",
13391
+ "findduplicates:project:metadata:hardis",
13392
+ "hardis:findduplicates:metadata:project",
13393
+ "findduplicates:hardis:metadata:project",
13394
+ "findduplicates:metadata:hardis:project",
13395
+ "findduplicates:metadata:project:hardis"
13396
+ ]
13397
+ },
13307
13398
  "hardis:scratch:pool:create": {
13308
13399
  "aliases": [],
13309
13400
  "args": {},
@@ -15278,5 +15369,5 @@
15278
15369
  ]
15279
15370
  }
15280
15371
  },
15281
- "version": "6.6.0"
15372
+ "version": "6.6.1-beta202510111519.0"
15282
15373
  }
package/package.json CHANGED
@@ -3,12 +3,12 @@
3
3
  "description": "Swiss-army-knife Toolbox for Salesforce.\n Allows you to define a complete CD/CD Pipeline.\n Orchestrate base commands and assist users with interactive wizards",
4
4
  "author": "NicolasVuillamy @nvuillam",
5
5
  "bugs": "https://github.com/hardisgroupcom/sfdx-hardis/issues",
6
- "version": "6.6.0",
6
+ "version": "6.6.1-beta202510111519.0",
7
7
  "dependencies": {
8
8
  "@actions/github": "^6.0.1",
9
9
  "@cparra/apexdocs": "^3.14.1",
10
10
  "@gitbeaker/node": "^35.8.1",
11
- "@langchain/anthropic": "^0.3.27",
11
+ "@langchain/anthropic": "^0.3.30",
12
12
  "@langchain/community": "^0.3.56",
13
13
  "@langchain/core": "^0.3.77",
14
14
  "@langchain/google-genai": "^0.2.17",
@@ -47,7 +47,7 @@
47
47
  "jira-client": "^8.2.2",
48
48
  "js-yaml": "^4.1.0",
49
49
  "jsdoc-to-markdown": "^9.1.3",
50
- "langchain": "^0.3.34",
50
+ "langchain": "^0.3.35",
51
51
  "make-fetch-happen": "^14.0.3",
52
52
  "marked": "^14.1.4",
53
53
  "md-to-pdf": "^5.2.4",
@@ -105,11 +105,11 @@
105
105
  "@types/which": "^3.0.4",
106
106
  "@types/ws": "^8.18.1",
107
107
  "@types/xml2js": "^0.4.14",
108
- "eslint-plugin-sf-plugin": "^1.20.32",
108
+ "eslint-plugin-sf-plugin": "^1.20.33",
109
109
  "oclif": "^4.22.9",
110
110
  "tmp": "0.2.5",
111
111
  "ts-node": "^10.9.2",
112
- "typescript": "^5.9.2"
112
+ "typescript": "^5.9.3"
113
113
  },
114
114
  "engines": {
115
115
  "node": ">=20.0.0"