ph-cmd 0.43.14-dev.1 → 0.43.14-dev.10
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/dist/scripts/generate-commands-md.d.ts +2 -0
- package/dist/scripts/generate-commands-md.d.ts.map +1 -0
- package/dist/scripts/generate-commands-md.js +72 -0
- package/dist/scripts/generate-commands-md.js.map +1 -0
- package/dist/scripts/generate-version.d.ts +2 -0
- package/dist/scripts/generate-version.d.ts.map +1 -0
- package/dist/scripts/generate-version.js +13 -0
- package/dist/scripts/generate-version.js.map +1 -0
- package/dist/src/cli.js +65 -8
- package/dist/src/cli.js.map +1 -1
- package/dist/src/commands/__tests__/update.test.js +20 -16
- package/dist/src/commands/__tests__/update.test.js.map +1 -1
- package/dist/src/commands/__tests__/use.test.js +19 -15
- package/dist/src/commands/__tests__/use.test.js.map +1 -1
- package/dist/src/commands/forward.d.ts +1 -0
- package/dist/src/commands/forward.d.ts.map +1 -1
- package/dist/src/commands/forward.js +15 -3
- package/dist/src/commands/forward.js.map +1 -1
- package/dist/src/commands/help.d.ts +7 -0
- package/dist/src/commands/help.d.ts.map +1 -0
- package/dist/src/commands/help.js +14 -0
- package/dist/src/commands/help.js.map +1 -0
- package/dist/src/commands/index.d.ts +4 -2
- package/dist/src/commands/index.d.ts.map +1 -1
- package/dist/src/commands/index.js +6 -0
- package/dist/src/commands/index.js.map +1 -1
- package/dist/src/commands/init.d.ts +10 -9
- package/dist/src/commands/init.d.ts.map +1 -1
- package/dist/src/commands/init.js +7 -4
- package/dist/src/commands/init.js.map +1 -1
- package/dist/src/commands/setup-globals.d.ts +10 -9
- package/dist/src/commands/setup-globals.d.ts.map +1 -1
- package/dist/src/commands/setup-globals.js +6 -4
- package/dist/src/commands/setup-globals.js.map +1 -1
- package/dist/src/commands/update.d.ts +7 -8
- package/dist/src/commands/update.d.ts.map +1 -1
- package/dist/src/commands/update.js +6 -13
- package/dist/src/commands/update.js.map +1 -1
- package/dist/src/commands/use.d.ts +12 -11
- package/dist/src/commands/use.d.ts.map +1 -1
- package/dist/src/commands/use.js +17 -5
- package/dist/src/commands/use.js.map +1 -1
- package/dist/src/commands/version.d.ts +4 -0
- package/dist/src/commands/version.d.ts.map +1 -0
- package/dist/src/commands/version.js +25 -0
- package/dist/src/commands/version.js.map +1 -0
- package/dist/src/help.d.ts +21 -0
- package/dist/src/help.d.ts.map +1 -0
- package/dist/src/help.js +186 -0
- package/dist/src/help.js.map +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/utils/help-formatting.d.ts +35 -0
- package/dist/src/utils/help-formatting.d.ts.map +1 -0
- package/dist/src/utils/help-formatting.js +176 -0
- package/dist/src/utils/help-formatting.js.map +1 -0
- package/dist/src/{utils.d.ts → utils/index.d.ts} +35 -4
- package/dist/src/utils/index.d.ts.map +1 -0
- package/dist/src/{utils.js → utils/index.js} +98 -8
- package/dist/src/utils/index.js.map +1 -0
- package/dist/src/version.d.ts +2 -0
- package/dist/src/version.d.ts.map +1 -0
- package/dist/src/version.js +3 -0
- package/dist/src/version.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -3
- package/dist/src/utils.d.ts.map +0 -1
- package/dist/src/utils.js.map +0 -1
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import { forwardPHCommand, getPackageManagerFromLockfile, getProjectInfo, } from "./index.js";
|
|
2
|
+
// Configuration constants for help formatting
|
|
3
|
+
export const HELP_FORMATTING_CONFIG = {
|
|
4
|
+
// Column width for command descriptions alignment
|
|
5
|
+
FIXED_COLUMN_WIDTH: 55,
|
|
6
|
+
// List of command names to apply padding to
|
|
7
|
+
COMMANDS_TO_PAD: ["setup-globals", "init", "use", "update", "help"],
|
|
8
|
+
// Padding to add before command descriptions for alignment
|
|
9
|
+
DESCRIPTION_PADDING: " ",
|
|
10
|
+
};
|
|
11
|
+
/**
|
|
12
|
+
* Extracts command and description parts from a command line
|
|
13
|
+
* @param {string} line - A line from the help text containing a command
|
|
14
|
+
* @returns {{ cmd: string, desc: string }} Normalized command parts
|
|
15
|
+
*/
|
|
16
|
+
function extractCommandParts(line) {
|
|
17
|
+
// First try to match a command with options and arguments
|
|
18
|
+
let match = /^(\s+\S+(?:\|\S+)*(?:\s+\[options\])?(?:\s+\[[^\]]+\]|\s+<[^>]+>)*)(.*)$/.exec(line);
|
|
19
|
+
if (!match) {
|
|
20
|
+
// Fallback to a simpler pattern
|
|
21
|
+
match = /^(\s+\S+(?:\|\S+)*)(.*)$/.exec(line);
|
|
22
|
+
}
|
|
23
|
+
if (!match) {
|
|
24
|
+
return { cmd: line, desc: "" };
|
|
25
|
+
}
|
|
26
|
+
return {
|
|
27
|
+
cmd: match[1].trimEnd(),
|
|
28
|
+
desc: match[2].trim(),
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Formats a command with proper description alignment
|
|
33
|
+
* @param {object} parts - Command parts with cmd and desc properties
|
|
34
|
+
* @param {number} columnWidth - Fixed position for descriptions to start
|
|
35
|
+
* @returns {string} Formatted command line
|
|
36
|
+
*/
|
|
37
|
+
function formatCommandLine({ cmd, desc }, columnWidth) {
|
|
38
|
+
// Calculate padding needed for alignment
|
|
39
|
+
const padding = " ".repeat(Math.max(2, columnWidth - cmd.length));
|
|
40
|
+
return `${cmd}${padding}${desc}`;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Extracts command lines from help text starting from the Commands section
|
|
44
|
+
* @param {string[]} lines - Help text split into lines
|
|
45
|
+
* @param {number} startIndex - Index of the Commands section header
|
|
46
|
+
* @returns {string[]} Array of command lines
|
|
47
|
+
*/
|
|
48
|
+
function extractCommandLines(lines, startIndex) {
|
|
49
|
+
const commands = [];
|
|
50
|
+
for (let i = startIndex + 1; i < lines.length; i++) {
|
|
51
|
+
const line = lines[i];
|
|
52
|
+
// Stop when we hit an empty line or no longer see command formatting
|
|
53
|
+
if (!line.trim() || !/^\s{2}\S/.exec(line)) {
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
commands.push(line);
|
|
57
|
+
}
|
|
58
|
+
return commands;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Merges CLI help text with the forwarded PH CLI help text
|
|
62
|
+
* @param {string} cliHelp - Commander-generated help text
|
|
63
|
+
* @param {string} forwardedHelp - Help text from the PH CLI
|
|
64
|
+
* @returns {string} Merged help text
|
|
65
|
+
*/
|
|
66
|
+
export function mergeHelp(cliHelp, forwardedHelp) {
|
|
67
|
+
// Split help text into lines
|
|
68
|
+
const cliLines = cliHelp.split("\n");
|
|
69
|
+
const forwardedLines = forwardedHelp.split("\n");
|
|
70
|
+
// Find the Commands section in both help texts
|
|
71
|
+
const cliCommandsIndex = cliLines.findIndex((line) => line.trim() === "Commands:");
|
|
72
|
+
const forwardedCommandsIndex = forwardedLines.findIndex((line) => line.trim() === "Commands:");
|
|
73
|
+
// Extract command lines
|
|
74
|
+
const cliCommands = extractCommandLines(cliLines, cliCommandsIndex);
|
|
75
|
+
const forwardedCommands = extractCommandLines(forwardedLines, forwardedCommandsIndex);
|
|
76
|
+
// Create a set of CLI command names to avoid duplicates
|
|
77
|
+
const cliCommandNames = new Set();
|
|
78
|
+
cliCommands.forEach((line) => {
|
|
79
|
+
const match = /^\s+(\S+)(?:\|.*)?/.exec(line);
|
|
80
|
+
if (match)
|
|
81
|
+
cliCommandNames.add(match[1]);
|
|
82
|
+
});
|
|
83
|
+
// Filter out duplicate commands from forwarded help
|
|
84
|
+
const uniqueForwardedCommands = forwardedCommands.filter((line) => {
|
|
85
|
+
const match = /^\s+(\S+)(?:\|.*)?/.exec(line);
|
|
86
|
+
if (!match)
|
|
87
|
+
return false;
|
|
88
|
+
// Explicitly filter out 'help' command from forwarded commands
|
|
89
|
+
if (match[1] === "help")
|
|
90
|
+
return false;
|
|
91
|
+
return !cliCommandNames.has(match[1]);
|
|
92
|
+
});
|
|
93
|
+
// Process and format all commands
|
|
94
|
+
const cliParts = cliCommands.map(extractCommandParts);
|
|
95
|
+
const forwardedParts = uniqueForwardedCommands.map(extractCommandParts);
|
|
96
|
+
// Format with consistent alignment
|
|
97
|
+
const formattedCliCommands = cliParts.map((parts) => formatCommandLine(parts, HELP_FORMATTING_CONFIG.FIXED_COLUMN_WIDTH));
|
|
98
|
+
const formattedForwardedCommands = forwardedParts.map((parts) => formatCommandLine(parts, HELP_FORMATTING_CONFIG.FIXED_COLUMN_WIDTH));
|
|
99
|
+
// Extract header section
|
|
100
|
+
const headerSection = cliLines.slice(0, cliCommandsIndex + 1).join("\n");
|
|
101
|
+
// Combine all sections
|
|
102
|
+
return [
|
|
103
|
+
headerSection,
|
|
104
|
+
formattedCliCommands.join("\n"),
|
|
105
|
+
formattedForwardedCommands.join("\n"),
|
|
106
|
+
].join("\n");
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Applies padding to command descriptions for better alignment
|
|
110
|
+
* @param {Command} program - Commander program instance
|
|
111
|
+
*/
|
|
112
|
+
export function applyCommandPadding(program) {
|
|
113
|
+
program.commands.forEach((cmd) => {
|
|
114
|
+
if (HELP_FORMATTING_CONFIG.COMMANDS_TO_PAD.includes(cmd.name())) {
|
|
115
|
+
// Store original description in a property we can retrieve later
|
|
116
|
+
const desc = cmd.description();
|
|
117
|
+
// Add padding to the description
|
|
118
|
+
cmd.description(HELP_FORMATTING_CONFIG.DESCRIPTION_PADDING + desc);
|
|
119
|
+
}
|
|
120
|
+
});
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Restores original command descriptions after generating help
|
|
124
|
+
* @param {Command} program - Commander program instance
|
|
125
|
+
*/
|
|
126
|
+
export function restoreCommandDescriptions(program) {
|
|
127
|
+
program.commands.forEach((cmd) => {
|
|
128
|
+
if (HELP_FORMATTING_CONFIG.COMMANDS_TO_PAD.includes(cmd.name())) {
|
|
129
|
+
const desc = cmd.description();
|
|
130
|
+
cmd.description(desc.trim());
|
|
131
|
+
}
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Captures Commander help output as a string
|
|
136
|
+
* @param {Command} program - Commander program instance
|
|
137
|
+
* @returns {string} Help text as a string
|
|
138
|
+
*/
|
|
139
|
+
export function captureCommanderHelp(program) {
|
|
140
|
+
let helpText = "";
|
|
141
|
+
const originalConsoleLog = console.log;
|
|
142
|
+
// Override console.log to capture output
|
|
143
|
+
console.log = (...args) => {
|
|
144
|
+
helpText += args.join(" ") + "\n";
|
|
145
|
+
};
|
|
146
|
+
program.outputHelp();
|
|
147
|
+
// Restore console.log
|
|
148
|
+
console.log = originalConsoleLog;
|
|
149
|
+
return helpText;
|
|
150
|
+
}
|
|
151
|
+
/**
|
|
152
|
+
* Generates and displays the merged help output
|
|
153
|
+
* @param {Command} program - Commander program instance
|
|
154
|
+
*/
|
|
155
|
+
export async function generateMergedHelp(program) {
|
|
156
|
+
// Get project information
|
|
157
|
+
const projectInfo = await getProjectInfo(undefined, false);
|
|
158
|
+
if (projectInfo.available) {
|
|
159
|
+
const packageManager = getPackageManagerFromLockfile(projectInfo.path);
|
|
160
|
+
// Get forwarded help from PH CLI
|
|
161
|
+
const forwardedHelp = forwardPHCommand(packageManager, projectInfo.path, "help", undefined, true);
|
|
162
|
+
// Apply padding to command descriptions for better alignment
|
|
163
|
+
applyCommandPadding(program);
|
|
164
|
+
// Capture the output without displaying it
|
|
165
|
+
const helpText = captureCommanderHelp(program);
|
|
166
|
+
// Restore original descriptions
|
|
167
|
+
restoreCommandDescriptions(program);
|
|
168
|
+
// Merge and display help
|
|
169
|
+
const mergedHelp = mergeHelp(helpText, forwardedHelp);
|
|
170
|
+
console.log(mergedHelp);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
console.log(captureCommanderHelp(program));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
//# sourceMappingURL=help-formatting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"help-formatting.js","sourceRoot":"","sources":["../../../src/utils/help-formatting.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import { type Command } from "commander";
|
|
2
|
+
export * from "./help-formatting.js";
|
|
1
3
|
export declare const PH_BIN_PATH: string;
|
|
2
4
|
export declare const PH_BIN = "ph-cli";
|
|
3
5
|
export declare const PH_CLI_COMMANDS: string[];
|
|
@@ -48,6 +50,7 @@ export declare const packageManagers: {
|
|
|
48
50
|
};
|
|
49
51
|
export type ProjectInfo = {
|
|
50
52
|
isGlobal: boolean;
|
|
53
|
+
available: boolean;
|
|
51
54
|
path: string;
|
|
52
55
|
};
|
|
53
56
|
export type PackageManager = "npm" | "yarn" | "pnpm" | "bun";
|
|
@@ -57,8 +60,8 @@ export declare function isPowerhouseProject(dir: string): boolean;
|
|
|
57
60
|
export declare function findNodeProjectRoot(dir: string, pathValidation?: PathValidation): string | null;
|
|
58
61
|
export declare function getPackageManagerFromPath(dir: string): PackageManager;
|
|
59
62
|
export declare function getPackageManagerFromLockfile(dir: string): PackageManager;
|
|
60
|
-
export declare function getProjectInfo(debug?: boolean): Promise<ProjectInfo>;
|
|
61
|
-
export declare function forwardPHCommand(packageManager: PackageManager, projectPath: string, args: string, debug?: boolean):
|
|
63
|
+
export declare function getProjectInfo(debug?: boolean, generateGlobalProject?: boolean): Promise<ProjectInfo>;
|
|
64
|
+
export declare function forwardPHCommand(packageManager: PackageManager, projectPath: string, args: string, debug?: boolean, captureOutput?: boolean): string;
|
|
62
65
|
/**
|
|
63
66
|
* Recursively searches for a specific file by traversing up the directory tree.
|
|
64
67
|
* Starting from the given path, it checks each parent directory until it finds
|
|
@@ -86,5 +89,33 @@ export type GlobalProjectOptions = {
|
|
|
86
89
|
packageManager?: string;
|
|
87
90
|
};
|
|
88
91
|
export declare const createGlobalProject: (projectName?: string, options?: GlobalProjectOptions) => Promise<void>;
|
|
89
|
-
|
|
90
|
-
|
|
92
|
+
/**
|
|
93
|
+
* Helper to handle help flag detection for commands
|
|
94
|
+
* This centralizes the pattern of checking for help flags and showing command-specific help
|
|
95
|
+
*
|
|
96
|
+
* @param command - The Command instance
|
|
97
|
+
* @param actionFn - The original action function to call if help is not requested
|
|
98
|
+
* @returns A wrapped action function
|
|
99
|
+
*/
|
|
100
|
+
export declare function withHelpHandler<T extends unknown[]>(command: Command, actionFn: (...args: T) => Promise<void> | void): (...args: T) => Promise<void> | void;
|
|
101
|
+
/**
|
|
102
|
+
* Simplified utility to connect a command with an action function that includes help handling
|
|
103
|
+
* This reduces boilerplate in command files by automatically setting up the action with help handling
|
|
104
|
+
*
|
|
105
|
+
* @param command - The Command instance
|
|
106
|
+
* @param actionFn - The action function to call when the command is executed
|
|
107
|
+
* @param preCheck - Optional validation function that runs before the action
|
|
108
|
+
* @returns The command for chaining
|
|
109
|
+
*/
|
|
110
|
+
export declare function withHelpAction<T extends unknown[]>(command: Command, actionFn: (...args: T) => Promise<void> | void, preCheck?: (...args: T) => boolean | undefined): Command;
|
|
111
|
+
/**
|
|
112
|
+
* Enhanced version of withHelpAction that allows custom help text without duplication
|
|
113
|
+
*
|
|
114
|
+
* @param command - The Command instance
|
|
115
|
+
* @param actionFn - The action function to call when the command is executed
|
|
116
|
+
* @param helpText - The custom help text to display (replacing the auto-generated help)
|
|
117
|
+
* @param preCheck - Optional validation function that runs before the action
|
|
118
|
+
* @returns The command for chaining
|
|
119
|
+
*/
|
|
120
|
+
export declare function withCustomHelp<T extends unknown[]>(command: Command, actionFn: (...args: T) => Promise<void> | void, helpText: string, preCheck?: (...args: T) => boolean | undefined): Command;
|
|
121
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ import { execSync } from "node:child_process";
|
|
|
3
3
|
import fs from "node:fs";
|
|
4
4
|
import { homedir } from "node:os";
|
|
5
5
|
import path, { dirname } from "node:path";
|
|
6
|
+
export * from "./help-formatting.js";
|
|
6
7
|
export const PH_BIN_PATH = process.argv[1];
|
|
7
8
|
export const PH_BIN = "ph-cli";
|
|
8
9
|
export const PH_CLI_COMMANDS = [
|
|
@@ -111,25 +112,31 @@ export function getPackageManagerFromLockfile(dir) {
|
|
|
111
112
|
}
|
|
112
113
|
return "npm";
|
|
113
114
|
}
|
|
114
|
-
export async function getProjectInfo(debug) {
|
|
115
|
+
export async function getProjectInfo(debug, generateGlobalProject = true) {
|
|
115
116
|
const currentPath = process.cwd();
|
|
116
117
|
if (debug) {
|
|
117
118
|
console.log(">>> currentPath:", currentPath);
|
|
118
119
|
}
|
|
119
120
|
const projectPath = findNodeProjectRoot(currentPath, isPowerhouseProject);
|
|
120
121
|
if (!projectPath) {
|
|
121
|
-
|
|
122
|
+
let available = fs.existsSync(POWERHOUSE_GLOBAL_DIR);
|
|
123
|
+
if (generateGlobalProject) {
|
|
124
|
+
await createGlobalProject();
|
|
125
|
+
available = true;
|
|
126
|
+
}
|
|
122
127
|
return {
|
|
128
|
+
available,
|
|
123
129
|
isGlobal: true,
|
|
124
130
|
path: POWERHOUSE_GLOBAL_DIR,
|
|
125
131
|
};
|
|
126
132
|
}
|
|
127
133
|
return {
|
|
128
134
|
isGlobal: false,
|
|
135
|
+
available: true,
|
|
129
136
|
path: projectPath,
|
|
130
137
|
};
|
|
131
138
|
}
|
|
132
|
-
export function forwardPHCommand(packageManager, projectPath, args, debug) {
|
|
139
|
+
export function forwardPHCommand(packageManager, projectPath, args, debug, captureOutput = false) {
|
|
133
140
|
const manager = packageManagers[packageManager];
|
|
134
141
|
const command = manager.execCommand;
|
|
135
142
|
const execCommand = command.replace("{{arguments}}", args);
|
|
@@ -140,10 +147,22 @@ export function forwardPHCommand(packageManager, projectPath, args, debug) {
|
|
|
140
147
|
console.log(">>> projectPath:", projectPath);
|
|
141
148
|
console.log(">>> packageManager:", packageManager);
|
|
142
149
|
}
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
150
|
+
if (captureOutput) {
|
|
151
|
+
// Capture output and return it
|
|
152
|
+
return execSync(execCommand, {
|
|
153
|
+
stdio: "pipe",
|
|
154
|
+
encoding: "utf8",
|
|
155
|
+
...commandOptions,
|
|
156
|
+
});
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
// Original behavior - pipe directly to stdout/stderr
|
|
160
|
+
execSync(execCommand, {
|
|
161
|
+
stdio: "inherit",
|
|
162
|
+
...commandOptions,
|
|
163
|
+
});
|
|
164
|
+
return "";
|
|
165
|
+
}
|
|
147
166
|
}
|
|
148
167
|
/**
|
|
149
168
|
* Recursively searches for a specific file by traversing up the directory tree.
|
|
@@ -210,4 +229,75 @@ export const createGlobalProject = async (projectName, options = {}) => {
|
|
|
210
229
|
console.error("❌ Failed to initialize the global project", error);
|
|
211
230
|
}
|
|
212
231
|
};
|
|
213
|
-
|
|
232
|
+
/**
|
|
233
|
+
* Helper to handle help flag detection for commands
|
|
234
|
+
* This centralizes the pattern of checking for help flags and showing command-specific help
|
|
235
|
+
*
|
|
236
|
+
* @param command - The Command instance
|
|
237
|
+
* @param actionFn - The original action function to call if help is not requested
|
|
238
|
+
* @returns A wrapped action function
|
|
239
|
+
*/
|
|
240
|
+
export function withHelpHandler(command, actionFn) {
|
|
241
|
+
return (...args) => {
|
|
242
|
+
// Check if help was requested
|
|
243
|
+
const rawArgs = process.argv;
|
|
244
|
+
const isHelpRequested = rawArgs.includes("--help") || rawArgs.includes("-h");
|
|
245
|
+
// If help was explicitly requested, show the help and exit
|
|
246
|
+
if (isHelpRequested) {
|
|
247
|
+
command.outputHelp();
|
|
248
|
+
process.exit(0);
|
|
249
|
+
}
|
|
250
|
+
// Otherwise, run the original action
|
|
251
|
+
return actionFn(...args);
|
|
252
|
+
};
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Simplified utility to connect a command with an action function that includes help handling
|
|
256
|
+
* This reduces boilerplate in command files by automatically setting up the action with help handling
|
|
257
|
+
*
|
|
258
|
+
* @param command - The Command instance
|
|
259
|
+
* @param actionFn - The action function to call when the command is executed
|
|
260
|
+
* @param preCheck - Optional validation function that runs before the action
|
|
261
|
+
* @returns The command for chaining
|
|
262
|
+
*/
|
|
263
|
+
export function withHelpAction(command, actionFn, preCheck) {
|
|
264
|
+
command.action(withHelpHandler(command, (...args) => {
|
|
265
|
+
// If there's a pre-check function, run it before the action
|
|
266
|
+
if (preCheck) {
|
|
267
|
+
const result = preCheck(...args);
|
|
268
|
+
// If the pre-check returns false explicitly, don't run the action
|
|
269
|
+
if (result === false)
|
|
270
|
+
return;
|
|
271
|
+
}
|
|
272
|
+
return actionFn(...args);
|
|
273
|
+
}));
|
|
274
|
+
return command;
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* Enhanced version of withHelpAction that allows custom help text without duplication
|
|
278
|
+
*
|
|
279
|
+
* @param command - The Command instance
|
|
280
|
+
* @param actionFn - The action function to call when the command is executed
|
|
281
|
+
* @param helpText - The custom help text to display (replacing the auto-generated help)
|
|
282
|
+
* @param preCheck - Optional validation function that runs before the action
|
|
283
|
+
* @returns The command for chaining
|
|
284
|
+
*/
|
|
285
|
+
export function withCustomHelp(command, actionFn, helpText, preCheck) {
|
|
286
|
+
// Clear any existing help text
|
|
287
|
+
command.helpInformation = function () {
|
|
288
|
+
const name = command.name();
|
|
289
|
+
const args = command.usage();
|
|
290
|
+
const description = command.description();
|
|
291
|
+
// Create a minimal header
|
|
292
|
+
let header = `\nUsage: ph ${name}`;
|
|
293
|
+
if (args)
|
|
294
|
+
header += ` ${args}`;
|
|
295
|
+
if (description)
|
|
296
|
+
header += `\n\n${description}\n`;
|
|
297
|
+
// Return the custom help text
|
|
298
|
+
return header + "\n" + helpText;
|
|
299
|
+
};
|
|
300
|
+
// Add help action handler
|
|
301
|
+
return withHelpAction(command, actionFn, preCheck);
|
|
302
|
+
}
|
|
303
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,mBAAmB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"version.js","sourceRoot":"","sources":["../../src/version.ts"],"names":[],"mappings":"AAAA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,OAAO,GAAG,gBAAgB,CAAC"}
|