sfdx-hardis 5.18.1 → 5.19.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.
Files changed (29) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/defaults/mkdocs-project-doc/mkdocs.yml +9 -5
  3. package/defaults/monitoring/.github/workflows/org-monitoring.yml +7 -6
  4. package/lib/commands/hardis/doc/mkdocs-to-cf.js +1 -1
  5. package/lib/commands/hardis/doc/mkdocs-to-cf.js.map +1 -1
  6. package/lib/commands/hardis/doc/mkdocs-to-salesforce.js +1 -1
  7. package/lib/commands/hardis/doc/mkdocs-to-salesforce.js.map +1 -1
  8. package/lib/commands/hardis/doc/packagexml2markdown.js +1 -1
  9. package/lib/commands/hardis/doc/packagexml2markdown.js.map +1 -1
  10. package/lib/commands/hardis/doc/plugin/generate.js +1 -1
  11. package/lib/commands/hardis/doc/plugin/generate.js.map +1 -1
  12. package/lib/commands/hardis/doc/project2markdown.d.ts +2 -1
  13. package/lib/commands/hardis/doc/project2markdown.js +83 -55
  14. package/lib/commands/hardis/doc/project2markdown.js.map +1 -1
  15. package/lib/commands/hardis/org/monitor/backup.js +4 -0
  16. package/lib/commands/hardis/org/monitor/backup.js.map +1 -1
  17. package/lib/commands/hardis/project/generate/bypass.d.ts +19 -0
  18. package/lib/commands/hardis/project/generate/bypass.js +153 -0
  19. package/lib/commands/hardis/project/generate/bypass.js.map +1 -0
  20. package/lib/common/{utils → docBuilder}/docUtils.d.ts +1 -0
  21. package/lib/common/{utils → docBuilder}/docUtils.js +17 -8
  22. package/lib/common/docBuilder/docUtils.js.map +1 -0
  23. package/lib/common/docBuilder/objectModelBuilder.d.ts +16 -0
  24. package/lib/common/docBuilder/objectModelBuilder.js +161 -0
  25. package/lib/common/docBuilder/objectModelBuilder.js.map +1 -0
  26. package/oclif.lock +237 -237
  27. package/oclif.manifest.json +117 -3
  28. package/package.json +5 -5
  29. package/lib/common/utils/docUtils.js.map +0 -1
@@ -774,7 +774,7 @@
774
774
  "hardis:doc:project2markdown": {
775
775
  "aliases": [],
776
776
  "args": {},
777
- "description": "Generates a markdown documentation from a SFDX project\n\n- Package.xml files\n- Source Packages\n- sfdx-hardis configuration\n- Installed packages\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\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\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 || python -m mkdocs build || py -m mkdocs build`\n\n",
777
+ "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",
778
778
  "examples": [
779
779
  "$ sf hardis:doc:project2markdown",
780
780
  "$ sf hardis:doc:project2markdown --with-history"
@@ -851,7 +851,7 @@
851
851
  "strict": true,
852
852
  "enableJsonFlag": true,
853
853
  "title": "SFDX Project to Markdown",
854
- "htmlInstructions": "## 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 || python -m mkdocs build || py -m mkdocs build`\n",
854
+ "htmlInstructions": "## 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",
855
855
  "requiresProject": true,
856
856
  "isESM": true,
857
857
  "relativePath": [
@@ -12050,6 +12050,120 @@
12050
12050
  "v53flexipages:fix:project:hardis"
12051
12051
  ]
12052
12052
  },
12053
+ "hardis:project:generate:bypass": {
12054
+ "aliases": [],
12055
+ "args": {},
12056
+ "description": "\n Generates bypass custom permissions and permission sets for specified sObjects and automations (Flows, Triggers, and Validation Rules). If no parameters are provided, it prompts for user selection.\n ",
12057
+ "examples": [
12058
+ "$ sf hardis:project:generate:bypass",
12059
+ "$ sf hardis:project:generate:bypass --global",
12060
+ "$ sf hardis:project:generate:bypass --sObjects Account,Contact,Opportunity",
12061
+ "$ sf hardis:project:generate:bypass --automations Flow,Trigger,VR",
12062
+ "$ sf hardis:project:generate:bypass --sObjects Account,Opportunity --automations Flow,Trigger"
12063
+ ],
12064
+ "flags": {
12065
+ "json": {
12066
+ "description": "Format output as json.",
12067
+ "helpGroup": "GLOBAL",
12068
+ "name": "json",
12069
+ "allowNo": false,
12070
+ "type": "boolean"
12071
+ },
12072
+ "flags-dir": {
12073
+ "helpGroup": "GLOBAL",
12074
+ "name": "flags-dir",
12075
+ "summary": "Import flag values from a directory.",
12076
+ "hasDynamicHelp": false,
12077
+ "multiple": false,
12078
+ "type": "option"
12079
+ },
12080
+ "target-org": {
12081
+ "aliases": [
12082
+ "targetusername",
12083
+ "u"
12084
+ ],
12085
+ "char": "o",
12086
+ "deprecateAliases": true,
12087
+ "name": "target-org",
12088
+ "noCacheDefault": true,
12089
+ "required": true,
12090
+ "summary": "Username or alias of the target org. Not required if the `target-org` configuration variable is already set.",
12091
+ "hasDynamicHelp": true,
12092
+ "multiple": false,
12093
+ "type": "option"
12094
+ },
12095
+ "sObjects": {
12096
+ "char": "s",
12097
+ "description": "Comma-separated list of sObjects to bypass (e.g., Account,Contact,Opportunity). If omitted, you will be prompted to select.",
12098
+ "name": "sObjects",
12099
+ "required": false,
12100
+ "hasDynamicHelp": false,
12101
+ "multiple": false,
12102
+ "type": "option"
12103
+ },
12104
+ "automations": {
12105
+ "char": "a",
12106
+ "description": "Comma-separated list of automations to bypass. Allowed values: Flow, Trigger, VR",
12107
+ "name": "automations",
12108
+ "required": false,
12109
+ "hasDynamicHelp": false,
12110
+ "multiple": false,
12111
+ "type": "option"
12112
+ },
12113
+ "global": {
12114
+ "char": "g",
12115
+ "description": "Generate global bypasses for all automations (Flow, Trigger, VR) without selecting sObjects.",
12116
+ "name": "global",
12117
+ "required": false,
12118
+ "allowNo": false,
12119
+ "type": "boolean"
12120
+ }
12121
+ },
12122
+ "hasDynamicHelp": true,
12123
+ "hiddenAliases": [],
12124
+ "id": "hardis:project:generate:bypass",
12125
+ "pluginAlias": "sfdx-hardis",
12126
+ "pluginName": "sfdx-hardis",
12127
+ "pluginType": "core",
12128
+ "strict": true,
12129
+ "enableJsonFlag": true,
12130
+ "isESM": true,
12131
+ "relativePath": [
12132
+ "lib",
12133
+ "commands",
12134
+ "hardis",
12135
+ "project",
12136
+ "generate",
12137
+ "bypass.js"
12138
+ ],
12139
+ "aliasPermutations": [],
12140
+ "permutations": [
12141
+ "hardis:project:generate:bypass",
12142
+ "project:hardis:generate:bypass",
12143
+ "project:generate:hardis:bypass",
12144
+ "project:generate:bypass:hardis",
12145
+ "hardis:generate:project:bypass",
12146
+ "generate:hardis:project:bypass",
12147
+ "generate:project:hardis:bypass",
12148
+ "generate:project:bypass:hardis",
12149
+ "hardis:generate:bypass:project",
12150
+ "generate:hardis:bypass:project",
12151
+ "generate:bypass:hardis:project",
12152
+ "generate:bypass:project:hardis",
12153
+ "hardis:project:bypass:generate",
12154
+ "project:hardis:bypass:generate",
12155
+ "project:bypass:hardis:generate",
12156
+ "project:bypass:generate:hardis",
12157
+ "hardis:bypass:project:generate",
12158
+ "bypass:hardis:project:generate",
12159
+ "bypass:project:hardis:generate",
12160
+ "bypass:project:generate:hardis",
12161
+ "hardis:bypass:generate:project",
12162
+ "bypass:hardis:generate:project",
12163
+ "bypass:generate:hardis:project",
12164
+ "bypass:generate:project:hardis"
12165
+ ]
12166
+ },
12053
12167
  "hardis:project:generate:flow-git-diff": {
12054
12168
  "aliases": [],
12055
12169
  "args": {},
@@ -14364,5 +14478,5 @@
14364
14478
  ]
14365
14479
  }
14366
14480
  },
14367
- "version": "5.18.1"
14481
+ "version": "5.19.0"
14368
14482
  }
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.18.1",
6
+ "version": "5.19.0",
7
7
  "dependencies": {
8
8
  "@actions/github": "^6.0.0",
9
9
  "@cparra/apexdocs": "^3.7.3",
@@ -39,13 +39,13 @@
39
39
  "glob": "^11.0.1",
40
40
  "he": "^1.2.0",
41
41
  "inquirer": "^10.2.2",
42
- "isomorphic-dompurify": "^2.20.0",
42
+ "isomorphic-dompurify": "^2.21.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
- "mega-linter-runner": "^8.4.1",
48
+ "mega-linter-runner": "^8.4.2",
49
49
  "moment": "^2.30.1",
50
50
  "open": "^10.1.0",
51
51
  "openai": "^4.78.1",
@@ -68,7 +68,7 @@
68
68
  "xpath": "^0.0.34"
69
69
  },
70
70
  "devDependencies": {
71
- "@oclif/plugin-command-snapshot": "^5.2.28",
71
+ "@oclif/plugin-command-snapshot": "^5.2.31",
72
72
  "@salesforce/cli-plugins-testkit": "^5.3.39",
73
73
  "@salesforce/dev-config": "^4.3.1",
74
74
  "@salesforce/dev-scripts": "^10",
@@ -93,7 +93,7 @@
93
93
  "@types/ws": "^8.5.14",
94
94
  "@types/xml2js": "^0.4.14",
95
95
  "eslint-plugin-sf-plugin": "^1.20.14",
96
- "oclif": "^4.17.17",
96
+ "oclif": "^4.17.25",
97
97
  "ts-node": "^10.9.2",
98
98
  "typescript": "^5.7.3"
99
99
  },
@@ -1 +0,0 @@
1
- {"version":3,"file":"docUtils.js","sourceRoot":"","sources":["../../../src/common/utils/docUtils.ts"],"names":[],"mappings":"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"}