🌳
pt0/deployF/cliF/cliHelpF.mts
7import type { absFileDirPath } from '../../ptDirF.mts'
10export const reorderActionNames = (actionNames: string[], actionsH: ActionsH) => {
11 const scopeCmds: string[] = [], nonScopeCmds: string[] = []
12 for (const actionName of actionNames) {
13 if (actionName === 'help') continue
14 const action = actionsH[actionName]
15 if (!enableAdvActions && action?.cliAdvanced) continue
16 if ((action?.cliDescript as Record<string, unknown>)?.cliSupportsEpScopes) {
17 scopeCmds.push(actionName)
18 } else {
19 nonScopeCmds.push(actionName)
20 }
21 }
22 nonScopeCmds.sort()
23 scopeCmds.sort()
24 return [...nonScopeCmds, 'help', ...scopeCmds]
27export const cliHelp = ({action, actionsH = {}}: {action?: string, actionsH?: ActionsH}) => {
28 const actionNames = Object.keys(actionsH)
29 const orderedActionNames = reorderActionNames(actionNames, actionsH)
30 const callingScript = absPathToPtPath(getProcArgv()[1] as absFileDirPath)
31 const scopesInfo = buildEpScopesSection({actionNames: orderedActionNames, actionsH, callingScript})
32 k8sCliBase({actionNames: orderedActionNames, actionsH, scopesInfo, buildScopeCmdHelpFnc: buildScopeCmdHelp})