sfdx-hardis 5.15.2 → 5.15.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,12 @@
4
4
 
5
5
  Note: Can be used with `sfdx plugins:install sfdx-hardis@beta` and docker image `hardisgroupcom/sfdx-hardis@beta`
6
6
 
7
+ ## [5.15.3] 2025-01-14
8
+
9
+ - [hardis:project:generate:flow-git-diff](https://sfdx-hardis.cloudity.com/hardis/project/generate/flow-git-diff/) New parameters --commit-before and --commit-after
10
+ - [hardis:doc:project2markdown](https://sfdx-hardis.cloudity.com/hardis/doc/project2markdown/): Filter flows from managed packages
11
+ - Display number of AI prompts API calls at the end of a command
12
+
7
13
  ## [5.15.2] 2025-01-13
8
14
 
9
15
  - Add AI security considerations in documentation
@@ -8,6 +8,8 @@ export default class GenerateFlowGitDiff extends SfCommand<any> {
8
8
  static requiresProject: boolean;
9
9
  protected flowFile: string;
10
10
  protected flowLabel: string;
11
+ commitBefore: string;
12
+ commitAfter: string;
11
13
  protected debugMode: boolean;
12
14
  run(): Promise<AnyJson>;
13
15
  }
@@ -19,11 +19,22 @@ This command requires @mermaid-js/mermaid-cli to be installed.
19
19
 
20
20
  Run \`npm install @mermaid-js/mermaid-cli --global\`
21
21
  `;
22
- static examples = ['$ sf hardis:project:generate:flow-git-diff'];
22
+ static examples = [
23
+ '$ sf hardis:project:generate:flow-git-diff',
24
+ '$ sf hardis:project:generate:flow-git-diff --flow "force-app/main/default/flows/Opportunity_AfterUpdate_Cloudity.flow-meta.xml" --commit-before 8bd290e914c9dbdde859dad7e3c399776160d704 --commit-after e0835251bef6e400fb91e42f3a31022f37840f65'
25
+ ];
23
26
  static flags = {
24
27
  flow: Flags.string({
25
28
  description: 'Path to flow file (will be prompted if not set)',
26
29
  }),
30
+ "commit-before": Flags.string({
31
+ description: 'Hash of the commit of the previous flow state, or "allStates" (will be prompted if not set)',
32
+ default: ""
33
+ }),
34
+ "commit-after": Flags.string({
35
+ description: 'Hash of the commit of the new flow state (will be prompted if not set)',
36
+ default: "",
37
+ }),
27
38
  debug: Flags.boolean({
28
39
  char: 'd',
29
40
  default: false,
@@ -40,11 +51,15 @@ Run \`npm install @mermaid-js/mermaid-cli --global\`
40
51
  static requiresProject = true;
41
52
  flowFile;
42
53
  flowLabel;
54
+ commitBefore = "";
55
+ commitAfter = "";
43
56
  debugMode = false;
44
57
  /* jscpd:ignore-end */
45
58
  async run() {
46
59
  const { flags } = await this.parse(GenerateFlowGitDiff);
47
60
  this.flowFile = flags.flow || "";
61
+ this.commitBefore = flags["commit-before"] || "";
62
+ this.commitAfter = flags["commit-after"] || "";
48
63
  this.debugMode = flags.debug || false;
49
64
  // Check git repo
50
65
  await ensureGitRepository();
@@ -59,42 +74,52 @@ Run \`npm install @mermaid-js/mermaid-cli --global\`
59
74
  uxLog(this, c.green(`There is only one state for Flow ${this.flowFile}`));
60
75
  return {};
61
76
  }
62
- // Prompt commits
63
- const allChoices = fileHistory.all.map(log => {
64
- return {
65
- value: log.hash,
66
- title: `${moment(log.date).format("ll")}: ${log.message}`,
67
- description: `By ${log.author_name}(${log.author_email}) in ${log.refs}`
68
- };
69
- });
70
- const commitBeforeSelectRes = await prompts({
71
- type: 'select',
72
- name: 'before',
73
- message: 'Please select BEFORE UPDATE commit',
74
- choices: [...allChoices, ...[
75
- {
76
- title: "Calculate for all Flow states",
77
- value: "allStates",
78
- description: "Requires mkdocs-material to be read correctly. If you do not have it, we advise to select 2 commits for comparison."
79
- }
80
- ]]
81
- });
82
- const commitBefore = commitBeforeSelectRes.before;
77
+ // Build prompt choices
78
+ let allChoices = [];
79
+ if ((this.commitBefore === "" || this.commitAfter === "") && !isCI) {
80
+ allChoices = fileHistory.all.map(log => {
81
+ return {
82
+ value: log.hash,
83
+ title: `${moment(log.date).format("ll")}: ${log.message}`,
84
+ description: `By ${log.author_name}(${log.author_email}) in ${log.refs}`
85
+ };
86
+ });
87
+ }
88
+ // Prompt commits if not sent as input parameter
89
+ if (this.commitBefore === "" && !isCI) {
90
+ const commitBeforeSelectRes = await prompts({
91
+ type: 'select',
92
+ name: 'before',
93
+ message: 'Please select BEFORE UPDATE commit',
94
+ choices: [...allChoices, ...[
95
+ {
96
+ title: "Calculate for all Flow states",
97
+ value: "allStates",
98
+ description: "Requires mkdocs-material to be read correctly. If you do not have it, we advise to select 2 commits for comparison."
99
+ }
100
+ ]]
101
+ });
102
+ this.commitBefore = commitBeforeSelectRes.before;
103
+ }
83
104
  let diffMdFile;
84
- if (commitBefore === "allStates") {
105
+ if (this.commitBefore === "allStates") {
85
106
  diffMdFile = await generateHistoryDiffMarkdown(this.flowFile, this.debugMode);
86
107
  uxLog(this, c.yellow(`It is recommended to use mkdocs-material to read it correctly (see https://sfdx-hardis.cloudity.com/hardis/doc/project2markdown/#doc-html-pages)`));
87
108
  }
88
109
  else {
89
- // Compute between 2 commits: prompt for the second one
90
- const commitAfterSelectRes = await prompts({
91
- type: 'select',
92
- name: 'after',
93
- message: 'Please select AFTER UPDATE commit',
94
- choices: allChoices
95
- });
96
- const commitAfter = commitAfterSelectRes.after;
97
- const { outputDiffMdFile } = await generateFlowVisualGitDiff(this.flowFile, commitBefore, commitAfter, { svgMd: true, pngMd: false, mermaidMd: this.debugMode, debug: this.debugMode });
110
+ if (this.commitAfter === "" && !isCI) {
111
+ // Compute between 2 commits: prompt for the second one
112
+ const commitAfterSelectRes = await prompts({
113
+ type: 'select',
114
+ name: 'after',
115
+ message: 'Please select AFTER UPDATE commit',
116
+ choices: allChoices
117
+ });
118
+ this.commitAfter = commitAfterSelectRes.after;
119
+ }
120
+ // Generate diff
121
+ const { outputDiffMdFile } = await generateFlowVisualGitDiff(this.flowFile, this.commitBefore, this.commitAfter, { svgMd: true, pngMd: false, mermaidMd: this.debugMode, debug: this.debugMode });
122
+ diffMdFile = outputDiffMdFile;
98
123
  // Open file in a new VsCode tab if available
99
124
  WebSocketClient.requestOpenFile(path.relative(process.cwd(), outputDiffMdFile));
100
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"flow-git-diff.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/generate/flow-git-diff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"flow-git-diff.js","sourceRoot":"","sources":["../../../../../src/commands/hardis/project/generate/flow-git-diff.ts"],"names":[],"mappings":"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"}
@@ -2,3 +2,4 @@ export declare const GLOB_IGNORE_PATTERNS: string[];
2
2
  export declare function isSfdxProject(cwd?: string): boolean;
3
3
  export declare function createBlankSfdxProject(cwd?: string, debug?: boolean): Promise<string>;
4
4
  export declare function listFlowFiles(packageDirs: any): Promise<any[]>;
5
+ export declare function isManagedFlow(flowFile: string): Promise<boolean>;
@@ -3,6 +3,7 @@ import fs from 'fs-extra';
3
3
  import * as path from 'path';
4
4
  import { execCommand, uxLog } from './index.js';
5
5
  import { glob } from 'glob';
6
+ import { parseXmlFile } from './xmlUtils.js';
6
7
  export const GLOB_IGNORE_PATTERNS = [
7
8
  '**/node_modules/**',
8
9
  '**/.git/**',
@@ -29,13 +30,51 @@ export async function createBlankSfdxProject(cwd = process.cwd(), debug = false)
29
30
  }
30
31
  export async function listFlowFiles(packageDirs) {
31
32
  const flowFiles = [];
33
+ const skippedFlows = [];
32
34
  for (const packageDir of packageDirs || []) {
33
35
  const flowMetadatas = await glob("**/*.flow-meta.xml", { cwd: packageDir.path });
34
36
  for (const flowMetadata of flowMetadatas) {
35
37
  const flowFile = path.join(packageDir.path, flowMetadata).replace(/\\/g, '/');
36
- flowFiles.push(flowFile);
38
+ if (await isManagedFlow(flowFile)) {
39
+ skippedFlows.push(flowFile);
40
+ }
41
+ else {
42
+ flowFiles.push(flowFile);
43
+ }
44
+ }
45
+ }
46
+ if (skippedFlows.length > 0) {
47
+ uxLog(this, c.yellow(`Skipped ${skippedFlows.length} managed flows:`));
48
+ for (const skippedFlow of skippedFlows.sort()) {
49
+ uxLog(this, c.yellow(` ${skippedFlow}`));
37
50
  }
38
51
  }
39
52
  return flowFiles.sort();
40
53
  }
54
+ export async function isManagedFlow(flowFile) {
55
+ const flowXml = await parseXmlFile(flowFile);
56
+ for (const flowNodeType of [
57
+ 'start',
58
+ 'actionCalls',
59
+ 'assignments',
60
+ 'customErrors',
61
+ 'collectionProcessors',
62
+ 'decisions',
63
+ 'loops',
64
+ 'recordCreates',
65
+ 'recordDeletes',
66
+ 'recordLookups',
67
+ 'recordUpdates',
68
+ 'screens',
69
+ 'subflows',
70
+ 'variables',
71
+ 'constants',
72
+ 'formulas'
73
+ ]) {
74
+ if (flowXml?.Flow?.[flowNodeType] && flowXml?.Flow?.[flowNodeType]?.length > 0) {
75
+ return false;
76
+ }
77
+ }
78
+ return true;
79
+ }
41
80
  //# sourceMappingURL=projectUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectUtils.js","sourceRoot":"","sources":["../../../src/common/utils/projectUtils.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1B,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,oBAAoB;IACpB,YAAY;IACZ,aAAa;IACb,YAAY;IACZ,YAAY;IACZ,aAAa;IACb,WAAW;IACX,eAAe;CAChB,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IAC/C,OAAO,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,GAAG,KAAK;IAC7E,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;IACtD,MAAM,oBAAoB,GAAG,wDAAwD,CAAC;IACtF,MAAM,WAAW,CAAC,oBAAoB,EAAE,IAAI,EAAE;QAC5C,GAAG,EAAE,GAAG;QACR,IAAI,EAAE,IAAI;QACV,KAAK,EAAE,KAAK;QACZ,MAAM,EAAE,IAAI;KACb,CAAC,CAAC;IACH,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC;AACrD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,aAAa,CAAC,WAAW;IAC7C,MAAM,SAAS,GAAU,EAAE,CAAC;IAC5B,KAAK,MAAM,UAAU,IAAI,WAAW,IAAI,EAAE,EAAE,CAAC;QAC3C,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,oBAAoB,EAAE,EAAE,GAAG,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;QACjF,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAC9E,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;QAC1B,CAAC;IACH,CAAC;IACD,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;AAC1B,CAAC"}
1
+ {"version":3,"file":"projectUtils.js","sourceRoot":"","sources":["../../../src/common/utils/projectUtils.ts"],"names":[],"mappings":"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"}
@@ -2,15 +2,15 @@ import c from 'chalk';
2
2
  import { elapseEnd, uxLog } from '../../common/utils/index.js';
3
3
  // The use of this method is deprecated: use NotifProvider.sendNotification :)
4
4
  const hook = async (options) => {
5
- if (globalThis.hardisLogFileStream) {
6
- globalThis.hardisLogFileStream.end();
7
- globalThis.hardisLogFileStream = null;
8
- }
9
5
  // Skip hooks from other commands than hardis commands
10
6
  const commandId = options?.Command?.id || '';
11
7
  if (!commandId.startsWith('hardis')) {
12
8
  return;
13
9
  }
10
+ if (globalThis.hardisLogFileStream) {
11
+ globalThis.hardisLogFileStream.end();
12
+ globalThis.hardisLogFileStream = null;
13
+ }
14
14
  // Close WebSocketClient if existing
15
15
  if (globalThis.webSocketClient) {
16
16
  try {
@@ -23,6 +23,10 @@ const hook = async (options) => {
23
23
  }
24
24
  globalThis.webSocketClient = null;
25
25
  }
26
+ const aiCounter = globalThis?.aiCallsNumber || 0;
27
+ if (aiCounter > 0) {
28
+ uxLog(this, c.grey(c.italic(`AI prompts API calls: ${aiCounter}`)));
29
+ }
26
30
  elapseEnd(`${options?.Command?.id} execution time`);
27
31
  };
28
32
  export default hook;
@@ -1 +1 @@
1
- {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../src/hooks/postrun/notify.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAG/D,8EAA8E;AAE9E,MAAM,IAAI,GAAoB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9C,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;QACnC,UAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;QACrC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACxC,CAAC;IAED,sDAAsD;IACtD,MAAM,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,oCAAoC;IACpC,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,oCAAoC,CAAC,GAAG,IAAI,GAAI,CAAW,CAAC,OAAO,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QACD,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,SAAS,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"notify.js","sourceRoot":"","sources":["../../../src/hooks/postrun/notify.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,OAAO,CAAC;AACtB,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAG/D,8EAA8E;AAE9E,MAAM,IAAI,GAAoB,KAAK,EAAE,OAAO,EAAE,EAAE;IAC9C,sDAAsD;IACtD,MAAM,SAAS,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC;IAC7C,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO;IACT,CAAC;IAED,IAAI,UAAU,CAAC,mBAAmB,EAAE,CAAC;QACnC,UAAU,CAAC,mBAAmB,CAAC,GAAG,EAAE,CAAC;QACrC,UAAU,CAAC,mBAAmB,GAAG,IAAI,CAAC;IACxC,CAAC;IAED,oCAAoC;IACpC,IAAI,UAAU,CAAC,eAAe,EAAE,CAAC;QAC/B,IAAI,CAAC;YACH,UAAU,CAAC,eAAe,CAAC,OAAO,EAAE,CAAC;QACvC,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,IAAI,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;gBACnC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,oCAAoC,CAAC,GAAG,IAAI,GAAI,CAAW,CAAC,OAAO,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QACD,UAAU,CAAC,eAAe,GAAG,IAAI,CAAC;IACpC,CAAC;IAED,MAAM,SAAS,GAAG,UAAU,EAAE,aAAa,IAAI,CAAC,CAAC;IACjD,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,yBAAyB,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IACtE,CAAC;IACD,SAAS,CAAC,GAAG,OAAO,EAAE,OAAO,EAAE,EAAE,iBAAiB,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -57,12 +57,12 @@
57
57
  "world:hello"
58
58
  ]
59
59
  },
60
- "hardis:auth:login": {
60
+ "hardis:cache:clear": {
61
61
  "aliases": [],
62
62
  "args": {},
63
- "description": "Login to salesforce org",
63
+ "description": "Clear cache generated by sfdx-hardis",
64
64
  "examples": [
65
- "$ sf hardis:auth:login"
65
+ "$ sf hardis:cache:clear"
66
66
  ],
67
67
  "flags": {
68
68
  "json": {
@@ -80,28 +80,6 @@
80
80
  "multiple": false,
81
81
  "type": "option"
82
82
  },
83
- "instanceurl": {
84
- "char": "r",
85
- "description": "URL of org instance",
86
- "name": "instanceurl",
87
- "hasDynamicHelp": false,
88
- "multiple": false,
89
- "type": "option"
90
- },
91
- "devhub": {
92
- "char": "h",
93
- "description": "Also connect associated DevHub",
94
- "name": "devhub",
95
- "allowNo": false,
96
- "type": "boolean"
97
- },
98
- "scratchorg": {
99
- "char": "s",
100
- "description": "Scratch org",
101
- "name": "scratchorg",
102
- "allowNo": false,
103
- "type": "boolean"
104
- },
105
83
  "debug": {
106
84
  "char": "d",
107
85
  "description": "Activate debug mode (more logs)",
@@ -125,38 +103,38 @@
125
103
  },
126
104
  "hasDynamicHelp": false,
127
105
  "hiddenAliases": [],
128
- "id": "hardis:auth:login",
106
+ "id": "hardis:cache:clear",
129
107
  "pluginAlias": "sfdx-hardis",
130
108
  "pluginName": "sfdx-hardis",
131
109
  "pluginType": "core",
132
110
  "strict": true,
133
111
  "enableJsonFlag": true,
134
- "title": "Login",
112
+ "title": "Clear sfdx-hardis cache",
135
113
  "requiresProject": false,
136
114
  "isESM": true,
137
115
  "relativePath": [
138
116
  "lib",
139
117
  "commands",
140
118
  "hardis",
141
- "auth",
142
- "login.js"
119
+ "cache",
120
+ "clear.js"
143
121
  ],
144
122
  "aliasPermutations": [],
145
123
  "permutations": [
146
- "hardis:auth:login",
147
- "auth:hardis:login",
148
- "auth:login:hardis",
149
- "hardis:login:auth",
150
- "login:hardis:auth",
151
- "login:auth:hardis"
124
+ "hardis:cache:clear",
125
+ "cache:hardis:clear",
126
+ "cache:clear:hardis",
127
+ "hardis:clear:cache",
128
+ "clear:hardis:cache",
129
+ "clear:cache:hardis"
152
130
  ]
153
131
  },
154
- "hardis:cache:clear": {
132
+ "hardis:auth:login": {
155
133
  "aliases": [],
156
134
  "args": {},
157
- "description": "Clear cache generated by sfdx-hardis",
135
+ "description": "Login to salesforce org",
158
136
  "examples": [
159
- "$ sf hardis:cache:clear"
137
+ "$ sf hardis:auth:login"
160
138
  ],
161
139
  "flags": {
162
140
  "json": {
@@ -174,6 +152,28 @@
174
152
  "multiple": false,
175
153
  "type": "option"
176
154
  },
155
+ "instanceurl": {
156
+ "char": "r",
157
+ "description": "URL of org instance",
158
+ "name": "instanceurl",
159
+ "hasDynamicHelp": false,
160
+ "multiple": false,
161
+ "type": "option"
162
+ },
163
+ "devhub": {
164
+ "char": "h",
165
+ "description": "Also connect associated DevHub",
166
+ "name": "devhub",
167
+ "allowNo": false,
168
+ "type": "boolean"
169
+ },
170
+ "scratchorg": {
171
+ "char": "s",
172
+ "description": "Scratch org",
173
+ "name": "scratchorg",
174
+ "allowNo": false,
175
+ "type": "boolean"
176
+ },
177
177
  "debug": {
178
178
  "char": "d",
179
179
  "description": "Activate debug mode (more logs)",
@@ -197,30 +197,30 @@
197
197
  },
198
198
  "hasDynamicHelp": false,
199
199
  "hiddenAliases": [],
200
- "id": "hardis:cache:clear",
200
+ "id": "hardis:auth:login",
201
201
  "pluginAlias": "sfdx-hardis",
202
202
  "pluginName": "sfdx-hardis",
203
203
  "pluginType": "core",
204
204
  "strict": true,
205
205
  "enableJsonFlag": true,
206
- "title": "Clear sfdx-hardis cache",
206
+ "title": "Login",
207
207
  "requiresProject": false,
208
208
  "isESM": true,
209
209
  "relativePath": [
210
210
  "lib",
211
211
  "commands",
212
212
  "hardis",
213
- "cache",
214
- "clear.js"
213
+ "auth",
214
+ "login.js"
215
215
  ],
216
216
  "aliasPermutations": [],
217
217
  "permutations": [
218
- "hardis:cache:clear",
219
- "cache:hardis:clear",
220
- "cache:clear:hardis",
221
- "hardis:clear:cache",
222
- "clear:hardis:cache",
223
- "clear:cache:hardis"
218
+ "hardis:auth:login",
219
+ "auth:hardis:login",
220
+ "auth:login:hardis",
221
+ "hardis:login:auth",
222
+ "login:hardis:auth",
223
+ "login:auth:hardis"
224
224
  ]
225
225
  },
226
226
  "hardis:config:get": {
@@ -11891,7 +11891,8 @@
11891
11891
  "args": {},
11892
11892
  "description": "Generate Flow Visual Git Diff markdown between 2 commits\n\nThis command requires @mermaid-js/mermaid-cli to be installed.\n\nRun `npm install @mermaid-js/mermaid-cli --global`\n ",
11893
11893
  "examples": [
11894
- "$ sf hardis:project:generate:flow-git-diff"
11894
+ "$ sf hardis:project:generate:flow-git-diff",
11895
+ "$ sf hardis:project:generate:flow-git-diff --flow \"force-app/main/default/flows/Opportunity_AfterUpdate_Cloudity.flow-meta.xml\" --commit-before 8bd290e914c9dbdde859dad7e3c399776160d704 --commit-after e0835251bef6e400fb91e42f3a31022f37840f65"
11895
11896
  ],
11896
11897
  "flags": {
11897
11898
  "json": {
@@ -11916,6 +11917,22 @@
11916
11917
  "multiple": false,
11917
11918
  "type": "option"
11918
11919
  },
11920
+ "commit-before": {
11921
+ "description": "Hash of the commit of the previous flow state, or \"allStates\" (will be prompted if not set)",
11922
+ "name": "commit-before",
11923
+ "default": "",
11924
+ "hasDynamicHelp": false,
11925
+ "multiple": false,
11926
+ "type": "option"
11927
+ },
11928
+ "commit-after": {
11929
+ "description": "Hash of the commit of the new flow state (will be prompted if not set)",
11930
+ "name": "commit-after",
11931
+ "default": "",
11932
+ "hasDynamicHelp": false,
11933
+ "multiple": false,
11934
+ "type": "option"
11935
+ },
11919
11936
  "debug": {
11920
11937
  "char": "d",
11921
11938
  "description": "Activate debug mode (more logs)",
@@ -14183,5 +14200,5 @@
14183
14200
  ]
14184
14201
  }
14185
14202
  },
14186
- "version": "5.15.2"
14203
+ "version": "5.15.3"
14187
14204
  }
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.15.2",
6
+ "version": "5.15.3",
7
7
  "dependencies": {
8
8
  "@actions/github": "^6.0.0",
9
9
  "@gitbeaker/node": "^35.8.1",