sfdx-hardis 5.19.4 → 5.21.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.
@@ -129,13 +129,12 @@
129
129
  "clear:cache:hardis"
130
130
  ]
131
131
  },
132
- "hardis:auth:login": {
132
+ "hardis:config:get": {
133
133
  "aliases": [],
134
134
  "args": {},
135
- "description": "Login to salesforce org",
135
+ "description": "Returns sfdx-hardis project config for a given level",
136
136
  "examples": [
137
- "$ sf hardis:auth:login",
138
- "CI=true sf hardis:auth:login"
137
+ "$ sf hardis:project:deploy:sources:metadata"
139
138
  ],
140
139
  "flags": {
141
140
  "json": {
@@ -153,28 +152,20 @@
153
152
  "multiple": false,
154
153
  "type": "option"
155
154
  },
156
- "instanceurl": {
157
- "char": "r",
158
- "description": "URL of org instance",
159
- "name": "instanceurl",
155
+ "level": {
156
+ "char": "l",
157
+ "description": "project,branch or user",
158
+ "name": "level",
159
+ "default": "project",
160
160
  "hasDynamicHelp": false,
161
161
  "multiple": false,
162
+ "options": [
163
+ "project",
164
+ "branch",
165
+ "user"
166
+ ],
162
167
  "type": "option"
163
168
  },
164
- "devhub": {
165
- "char": "h",
166
- "description": "Also connect associated DevHub",
167
- "name": "devhub",
168
- "allowNo": false,
169
- "type": "boolean"
170
- },
171
- "scratchorg": {
172
- "char": "s",
173
- "description": "Scratch org",
174
- "name": "scratchorg",
175
- "allowNo": false,
176
- "type": "boolean"
177
- },
178
169
  "debug": {
179
170
  "char": "d",
180
171
  "description": "Activate debug mode (more logs)",
@@ -198,38 +189,39 @@
198
189
  },
199
190
  "hasDynamicHelp": false,
200
191
  "hiddenAliases": [],
201
- "id": "hardis:auth:login",
192
+ "id": "hardis:config:get",
202
193
  "pluginAlias": "sfdx-hardis",
203
194
  "pluginName": "sfdx-hardis",
204
195
  "pluginType": "core",
205
196
  "strict": true,
206
197
  "enableJsonFlag": true,
207
- "title": "Login",
198
+ "title": "Deploy metadata sources to org",
208
199
  "requiresProject": false,
209
200
  "isESM": true,
210
201
  "relativePath": [
211
202
  "lib",
212
203
  "commands",
213
204
  "hardis",
214
- "auth",
215
- "login.js"
205
+ "config",
206
+ "get.js"
216
207
  ],
217
208
  "aliasPermutations": [],
218
209
  "permutations": [
219
- "hardis:auth:login",
220
- "auth:hardis:login",
221
- "auth:login:hardis",
222
- "hardis:login:auth",
223
- "login:hardis:auth",
224
- "login:auth:hardis"
210
+ "hardis:config:get",
211
+ "config:hardis:get",
212
+ "config:get:hardis",
213
+ "hardis:get:config",
214
+ "get:hardis:config",
215
+ "get:config:hardis"
225
216
  ]
226
217
  },
227
- "hardis:config:get": {
218
+ "hardis:auth:login": {
228
219
  "aliases": [],
229
220
  "args": {},
230
- "description": "Returns sfdx-hardis project config for a given level",
221
+ "description": "Login to salesforce org",
231
222
  "examples": [
232
- "$ sf hardis:project:deploy:sources:metadata"
223
+ "$ sf hardis:auth:login",
224
+ "CI=true sf hardis:auth:login"
233
225
  ],
234
226
  "flags": {
235
227
  "json": {
@@ -247,20 +239,28 @@
247
239
  "multiple": false,
248
240
  "type": "option"
249
241
  },
250
- "level": {
251
- "char": "l",
252
- "description": "project,branch or user",
253
- "name": "level",
254
- "default": "project",
242
+ "instanceurl": {
243
+ "char": "r",
244
+ "description": "URL of org instance",
245
+ "name": "instanceurl",
255
246
  "hasDynamicHelp": false,
256
247
  "multiple": false,
257
- "options": [
258
- "project",
259
- "branch",
260
- "user"
261
- ],
262
248
  "type": "option"
263
249
  },
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:config:get",
287
+ "id": "hardis:auth:login",
288
288
  "pluginAlias": "sfdx-hardis",
289
289
  "pluginName": "sfdx-hardis",
290
290
  "pluginType": "core",
291
291
  "strict": true,
292
292
  "enableJsonFlag": true,
293
- "title": "Deploy metadata sources to org",
293
+ "title": "Login",
294
294
  "requiresProject": false,
295
295
  "isESM": true,
296
296
  "relativePath": [
297
297
  "lib",
298
298
  "commands",
299
299
  "hardis",
300
- "config",
301
- "get.js"
300
+ "auth",
301
+ "login.js"
302
302
  ],
303
303
  "aliasPermutations": [],
304
304
  "permutations": [
305
- "hardis:config:get",
306
- "config:hardis:get",
307
- "config:get:hardis",
308
- "hardis:get:config",
309
- "get:hardis:config",
310
- "get:config:hardis"
305
+ "hardis:auth:login",
306
+ "auth:hardis:login",
307
+ "auth:login:hardis",
308
+ "hardis:login:auth",
309
+ "login:hardis:auth",
310
+ "login:auth:hardis"
311
311
  ]
312
312
  },
313
313
  "hardis:doc:fieldusage": {
@@ -392,7 +392,9 @@
392
392
  "description": "Generates a markdown documentation from a Flow file\n \nIf [AI integration](https://sfdx-hardis.cloudity.com/salesforce-ai-setup/) is configured, documentation will contain a summary of the Flow. \n ",
393
393
  "examples": [
394
394
  "$ sf hardis:doc:flow2markdown",
395
- "$ sf hardis:doc:flow2markdown --inputfile force-app/main/default/flows/MyFlow.flow-meta.xml"
395
+ "$ sf hardis:doc:flow2markdown --inputfile force-app/main/default/flows/MyFlow.flow-meta.xml",
396
+ "$ sf hardis:doc:flow2markdown --pdf",
397
+ "$ sf hardis:doc:flow2markdown --inputfile force-app/main/default/flows/MyFlow.flow-meta.xml --pdf"
396
398
  ],
397
399
  "flags": {
398
400
  "json": {
@@ -432,6 +434,12 @@
432
434
  "allowNo": false,
433
435
  "type": "boolean"
434
436
  },
437
+ "pdf": {
438
+ "description": "Also generate the documentation in PDF format",
439
+ "name": "pdf",
440
+ "allowNo": false,
441
+ "type": "boolean"
442
+ },
435
443
  "debug": {
436
444
  "char": "d",
437
445
  "description": "Activate debug mode (more logs)",
@@ -762,7 +770,8 @@
762
770
  "description": "Generates a markdown documentation from a SFDX project\n\n- Objects\n- Flows\n- Apex\n- Lightning Pages\n- SFDX-Hardis Config\n- Branches & Orgs\n- Installed Packages\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\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\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\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",
763
771
  "examples": [
764
772
  "$ sf hardis:doc:project2markdown",
765
- "$ sf hardis:doc:project2markdown --with-history"
773
+ "$ sf hardis:doc:project2markdown --with-history",
774
+ "$ sf hardis:doc:project2markdown --with-history --pdf"
766
775
  ],
767
776
  "flags": {
768
777
  "json": {
@@ -792,6 +801,12 @@
792
801
  "allowNo": false,
793
802
  "type": "boolean"
794
803
  },
804
+ "pdf": {
805
+ "description": "Also generate the documentation in PDF format",
806
+ "name": "pdf",
807
+ "allowNo": false,
808
+ "type": "boolean"
809
+ },
795
810
  "debug": {
796
811
  "char": "d",
797
812
  "description": "Activate debug mode (more logs)",
@@ -3602,9 +3617,9 @@
3602
3617
  "hardis:work:new": {
3603
3618
  "aliases": [],
3604
3619
  "args": {},
3605
- "description": "Assisted menu to start working on a Salesforce task.\n\nAdvanced instructions in [Create New Task documentation](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-create-new-task/)\n\nAt the end of the command, it will allow you to work on either a scratch org or a sandbox, depending on your choices.\n\nUnder the hood, it can:\n\n- Make **git pull** to be up to date with target branch\n- Create **new git branch** with formatted name (you can override the choices using .sfdx-hardis.yml property **branchPrefixChoices**)\n- Create and initialize a scratch org or a source-tracked sandbox (config can be defined using `config/.sfdx-hardis.yml`):\n- (and for scratch org only for now):\n - **Install packages**\n - Use property `installedPackages`\n - **Push sources**\n - **Assign permission sets**\n - Use property `initPermissionSets`\n - **Run apex initialization scripts**\n - Use property `scratchOrgInitApexScripts`\n - **Load data**\n - Use property `dataPackages`\n",
3620
+ "description": "Assisted menu to start working on a Salesforce task.\n\nAdvanced instructions in [Create New Task documentation](https://sfdx-hardis.cloudity.com/salesforce-ci-cd-create-new-task/)\n\nAt the end of the command, it will allow you to work on either a scratch org or a sandbox, depending on your choices.\n\nUnder the hood, it can:\n\n- Make **git pull** to be up to date with target branch\n- Create **new git branch** with formatted name (you can override the choices using .sfdx-hardis.yml property **branchPrefixChoices**)\n- Create and initialize a scratch org or a source-tracked sandbox (config can be defined using `config/.sfdx-hardis.yml`):\n- (and for scratch org only for now):\n - **Install packages**\n - Use property `installedPackages`\n - **Push sources**\n - **Assign permission sets**\n - Use property `initPermissionSets`\n - **Run apex initialization scripts**\n - Use property `scratchOrgInitApexScripts`\n - **Load data**\n - Use property `dataPackages`\n\n## Override .sfdx-hardis.yml config\n\n### availableTargetBranches\n\nBy default, there is only one target branch (value of property **developmentBranch**).\n\nYou can define multiple target branches (for the future Pull Request) by setting the property **availableTargetBranches** in your .sfdx-hardis.yml file.\n\nThe selected branch will checked out and be used as base to create the user new feature branch.\n\nExamples:\n\n```yaml\navailableTargetBranches:\n - integration\n - preprod\n```\n\n```yaml\navailableTargetBranches:\n - integration,Select this to work from the integration branch (project stream)\n - preprod,Select this to work from the preprod branch (run stream)\n```\n\n### availableProjects\n\nYou can add a first question \"What is the project your task is for\" if you define a property **availableProjects**\n\nThe select will be used as first part of the git branch name. (ex: france/features/dev/JIRA123-webservice-get-account)\n\nExamples:\n\n```yaml\navailableProjects:\n - build\n - run\n - some-big-project\n - france\n - uk\n```\n\n```yaml\navailableProjects:\n - build,Select this to work on the build project\n - run,Select this to work on the run project\n - some-big-project,Select this to work on the some big project\n - france,Select this to work on the France project\n - uk,Select this to work on the UK project\n```\n\n### newTaskNameRegex\n\nIf you want to force a specific format for the task name, you can define a property **newTaskNameRegex** in your .sfdx-hardis.yml file.\n\nPlease also define a property **newTaskNameRegexExample** to give an example to the user.\n\nExample:\n\n```yaml\nnewTaskNameRegex: '^[A-Z]+-[0-9]+ .*'\nnewTaskNameRegexExample: 'MYPROJECT-123 Update account status validation rule'\n```\n\n### sharedDevSandboxes\n\nIf contributors can share dev sandboxes, let's not ask them if they want to overwrite their colleagues' changes when creating a new task :)\n",
3606
3621
  "examples": [
3607
- "$ sf hardis:work:task:new"
3622
+ "$ sf hardis:work:new"
3608
3623
  ],
3609
3624
  "flags": {
3610
3625
  "json": {
@@ -14488,5 +14503,5 @@
14488
14503
  ]
14489
14504
  }
14490
14505
  },
14491
- "version": "5.19.4"
14506
+ "version": "5.21.0"
14492
14507
  }
package/package.json CHANGED
@@ -3,7 +3,7 @@
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": "5.19.4",
6
+ "version": "5.21.0",
7
7
  "dependencies": {
8
8
  "@actions/github": "^6.0.0",
9
9
  "@cparra/apexdocs": "^3.9.0",
@@ -32,23 +32,24 @@
32
32
  "exceljs": "^4.4.0",
33
33
  "extract-zip": "^2.0.1",
34
34
  "farmhash": "^4.0.1",
35
- "fast-xml-parser": "^4.5.1",
35
+ "fast-xml-parser": "^4.5.3",
36
36
  "form-data": "^4.0.1",
37
37
  "fs-extra": "^11.3.0",
38
38
  "fs-readdir-recursive": "^1.1.0",
39
39
  "glob": "^11.0.1",
40
40
  "he": "^1.2.0",
41
41
  "inquirer": "^10.2.2",
42
- "isomorphic-dompurify": "^2.21.0",
42
+ "isomorphic-dompurify": "^2.22.0",
43
43
  "jira-client": "^8.2.2",
44
44
  "js-yaml": "^4.1.0",
45
45
  "make-fetch-happen": "^14.0.3",
46
46
  "markdown-toc": "^1.2.0",
47
47
  "marked": "^14.1.4",
48
+ "md-to-pdf": "^5.2.4",
48
49
  "mega-linter-runner": "^8.4.2",
49
50
  "moment": "^2.30.1",
50
51
  "open": "^10.1.0",
51
- "openai": "^4.85.1",
52
+ "openai": "^4.85.3",
52
53
  "ora": "^8.2.0",
53
54
  "papaparse": "^5.5.2",
54
55
  "pascalcase": "^2.0.0",
@@ -93,7 +94,7 @@
93
94
  "@types/ws": "^8.5.14",
94
95
  "@types/xml2js": "^0.4.14",
95
96
  "eslint-plugin-sf-plugin": "^1.20.14",
96
- "oclif": "^4.17.25",
97
+ "oclif": "^4.17.30",
97
98
  "ts-node": "^10.9.2",
98
99
  "typescript": "^5.7.3"
99
100
  },