aliasmate 1.5.1 → 1.6.1

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 (62) hide show
  1. package/CHANGELOG.md +125 -0
  2. package/README.md +304 -3
  3. package/dist/cli.js +99 -13
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/alias.d.ts +30 -0
  6. package/dist/commands/alias.d.ts.map +1 -0
  7. package/dist/commands/alias.js +213 -0
  8. package/dist/commands/alias.js.map +1 -0
  9. package/dist/commands/completion.d.ts +17 -0
  10. package/dist/commands/completion.d.ts.map +1 -0
  11. package/dist/commands/completion.js +363 -0
  12. package/dist/commands/completion.js.map +1 -0
  13. package/dist/commands/edit.d.ts +2 -1
  14. package/dist/commands/edit.d.ts.map +1 -1
  15. package/dist/commands/edit.js +44 -1
  16. package/dist/commands/edit.js.map +1 -1
  17. package/dist/commands/export.d.ts +7 -3
  18. package/dist/commands/export.d.ts.map +1 -1
  19. package/dist/commands/export.js +23 -10
  20. package/dist/commands/export.js.map +1 -1
  21. package/dist/commands/list.d.ts +4 -1
  22. package/dist/commands/list.d.ts.map +1 -1
  23. package/dist/commands/list.js +14 -71
  24. package/dist/commands/list.js.map +1 -1
  25. package/dist/commands/recent.d.ts +24 -0
  26. package/dist/commands/recent.d.ts.map +1 -0
  27. package/dist/commands/recent.js +132 -0
  28. package/dist/commands/recent.js.map +1 -0
  29. package/dist/commands/run.d.ts +6 -1
  30. package/dist/commands/run.d.ts.map +1 -1
  31. package/dist/commands/run.js +123 -11
  32. package/dist/commands/run.js.map +1 -1
  33. package/dist/commands/save.d.ts +2 -1
  34. package/dist/commands/save.d.ts.map +1 -1
  35. package/dist/commands/save.js +44 -1
  36. package/dist/commands/save.js.map +1 -1
  37. package/dist/commands/validate.d.ts +10 -0
  38. package/dist/commands/validate.d.ts.map +1 -0
  39. package/dist/commands/validate.js +162 -0
  40. package/dist/commands/validate.js.map +1 -0
  41. package/dist/utils/constants.d.ts +1 -1
  42. package/dist/utils/constants.js +1 -1
  43. package/dist/utils/formatters.d.ts +30 -0
  44. package/dist/utils/formatters.d.ts.map +1 -0
  45. package/dist/utils/formatters.js +188 -0
  46. package/dist/utils/formatters.js.map +1 -0
  47. package/dist/utils/llm-generator.d.ts.map +1 -1
  48. package/dist/utils/llm-generator.js +489 -27
  49. package/dist/utils/llm-generator.js.map +1 -1
  50. package/dist/utils/onboarding.d.ts.map +1 -1
  51. package/dist/utils/onboarding.js +57 -3
  52. package/dist/utils/onboarding.js.map +1 -1
  53. package/dist/utils/recent.d.ts +55 -0
  54. package/dist/utils/recent.d.ts.map +1 -0
  55. package/dist/utils/recent.js +102 -0
  56. package/dist/utils/recent.js.map +1 -0
  57. package/dist/utils/validator.d.ts +56 -0
  58. package/dist/utils/validator.d.ts.map +1 -0
  59. package/dist/utils/validator.js +413 -0
  60. package/dist/utils/validator.js.map +1 -0
  61. package/package.json +1 -1
  62. package/whats-new.json +48 -0
@@ -11,11 +11,15 @@ const paths_1 = require("../utils/paths");
11
11
  const errors_1 = require("../utils/errors");
12
12
  const constants_1 = require("../utils/constants");
13
13
  const env_1 = require("../utils/env");
14
+ const alias_1 = require("./alias");
15
+ const recent_1 = require("../utils/recent");
14
16
  /**
15
17
  * Run a saved command, optionally overriding its working directory
16
18
  *
17
19
  * @param name - The name of the saved command to run
18
20
  * @param overridePath - Optional path to override the saved working directory
21
+ * @param dryRun - If true, preview what will execute without running
22
+ * @param verbose - If true, show detailed information (used with dryRun)
19
23
  *
20
24
  * @example
21
25
  * ```
@@ -24,12 +28,38 @@ const env_1 = require("../utils/env");
24
28
  *
25
29
  * // Run command in a different directory
26
30
  * await runCommand('build-prod', '/path/to/other/project');
31
+ *
32
+ * // Preview command without executing
33
+ * await runCommand('build-prod', undefined, true);
27
34
  * ```
28
35
  */
29
- async function runCommand(name, overridePath) {
36
+ async function runCommand(name, overridePath, dryRun, verbose) {
30
37
  try {
38
+ // Handle @N syntax for recent commands
39
+ let actualName = name;
40
+ let wasRecentRef = false;
41
+ if (name.startsWith('@')) {
42
+ const indexStr = name.substring(1);
43
+ const index = parseInt(indexStr, 10);
44
+ if (isNaN(index) || index < 0) {
45
+ console.error(chalk_1.default.red(`Error: Invalid recent command reference "${name}"`));
46
+ console.log(chalk_1.default.yellow('Use "aliasmate recent" to see available commands'));
47
+ process.exit(errors_1.ExitCode.InvalidInput);
48
+ }
49
+ const recentCommand = (0, recent_1.getRecentCommandByIndex)(index);
50
+ if (!recentCommand) {
51
+ console.error(chalk_1.default.red(`Error: No command found at index @${index}`));
52
+ console.log(chalk_1.default.yellow('Use "aliasmate recent" to see available commands'));
53
+ process.exit(errors_1.ExitCode.InvalidInput);
54
+ }
55
+ actualName = recentCommand;
56
+ wasRecentRef = true;
57
+ }
58
+ // Resolve alias to actual command name
59
+ const resolvedName = (0, alias_1.resolveAlias)(actualName);
60
+ const wasAlias = (0, alias_1.isAlias)(actualName);
31
61
  // Get the saved alias
32
- const alias = (0, storage_1.getAlias)(name);
62
+ const alias = (0, storage_1.getAlias)(resolvedName);
33
63
  if (!alias) {
34
64
  console.error(chalk_1.default.red(`Error: ${constants_1.ERROR_MESSAGES.commandNotFound(name)}`));
35
65
  console.log(chalk_1.default.yellow(constants_1.HELP_MESSAGES.useList));
@@ -51,26 +81,106 @@ async function runCommand(name, overridePath) {
51
81
  runDir = alias.directory;
52
82
  }
53
83
  }
54
- // Show what we're about to run
84
+ // Determine path mode for display
85
+ const pathMode = alias.pathMode || 'saved';
86
+ // Handle environment variables
87
+ let envToUse = process.env;
88
+ const envOverrides = alias.env && Object.keys(alias.env).length > 0 ? (0, env_1.getEnvOverrides)(alias.env, process.env) : [];
89
+ if (alias.env && Object.keys(alias.env).length > 0) {
90
+ envToUse = (0, env_1.mergeEnvVars)(alias.env, process.env);
91
+ }
92
+ // Check for potentially dangerous commands
93
+ const dangerousPatterns = [
94
+ 'rm -rf',
95
+ 'dd if=',
96
+ 'mkfs',
97
+ 'format',
98
+ ':(){ :|:& };:',
99
+ 'chmod -R 777',
100
+ ];
101
+ const isDangerous = dangerousPatterns.some((pattern) => alias.command.includes(pattern));
102
+ // DRY RUN MODE
103
+ if (dryRun) {
104
+ console.log(chalk_1.default.cyan.bold('🔍 DRY RUN MODE - Command will NOT be executed\n'));
105
+ // Show command
106
+ console.log(chalk_1.default.blue.bold('Command:'));
107
+ if (isDangerous) {
108
+ console.log(chalk_1.default.red.bold(` ⚠️ ${alias.command}`));
109
+ console.log(chalk_1.default.yellow.bold(' WARNING: This command may be dangerous!'));
110
+ }
111
+ else {
112
+ console.log(chalk_1.default.white(` ${alias.command}`));
113
+ }
114
+ console.log();
115
+ // Show working directory
116
+ console.log(chalk_1.default.blue.bold('Working Directory:'));
117
+ console.log(chalk_1.default.white(` ${runDir}`));
118
+ console.log();
119
+ // Show path mode
120
+ console.log(chalk_1.default.blue.bold('Path Mode:'));
121
+ if (overridePath) {
122
+ console.log(chalk_1.default.white(` overridden (original: ${pathMode})`));
123
+ }
124
+ else {
125
+ console.log(chalk_1.default.white(` ${pathMode}`));
126
+ }
127
+ console.log();
128
+ // Show environment variables
129
+ if (alias.env && Object.keys(alias.env).length > 0) {
130
+ console.log(chalk_1.default.blue.bold('Environment Variables:'));
131
+ console.log(chalk_1.default.white(` ${Object.keys(alias.env).length} variable(s) will be loaded`));
132
+ if (verbose) {
133
+ const masked = (0, env_1.maskSensitiveEnvVars)(alias.env);
134
+ Object.entries(masked).forEach(([key, value]) => {
135
+ console.log(chalk_1.default.gray(` ${key}=${value}`));
136
+ });
137
+ }
138
+ else {
139
+ console.log(chalk_1.default.gray(' (use --verbose to see variable names)'));
140
+ }
141
+ if (envOverrides.length > 0) {
142
+ console.log(chalk_1.default.yellow(`\n ⚠️ ${envOverrides.length} saved variable(s) will be overridden by current environment:`));
143
+ envOverrides.forEach(({ name }) => {
144
+ console.log(chalk_1.default.yellow(` - ${name}`));
145
+ });
146
+ }
147
+ console.log();
148
+ }
149
+ // Verbose mode: show additional details
150
+ if (verbose) {
151
+ console.log(chalk_1.default.blue.bold('Additional Details:'));
152
+ console.log(chalk_1.default.gray(` Command name: ${name}`));
153
+ console.log(chalk_1.default.gray(` Current directory: ${process.cwd()}`));
154
+ if (alias.env && Object.keys(alias.env).length > 0) {
155
+ console.log(chalk_1.default.gray(` Environment merge: saved → current → merged`));
156
+ }
157
+ console.log();
158
+ }
159
+ console.log(chalk_1.default.cyan('✓ Dry run completed - no command was executed'));
160
+ console.log(chalk_1.default.gray(' To execute this command, run without --dry-run flag'));
161
+ return;
162
+ }
163
+ // NORMAL EXECUTION MODE
164
+ if (wasRecentRef) {
165
+ console.log(chalk_1.default.gray(`Using recent command @${name.substring(1)} → "${actualName}"`));
166
+ }
167
+ if (wasAlias) {
168
+ console.log(chalk_1.default.gray(`Using alias: "${actualName}" → "${resolvedName}"`));
169
+ }
55
170
  console.log(chalk_1.default.blue(`Running: ${alias.command}`));
56
171
  console.log(chalk_1.default.gray(`Directory: ${runDir}`));
57
- const pathMode = alias.pathMode || 'saved';
58
172
  if (overridePath) {
59
173
  console.log(chalk_1.default.gray(`Path Mode: overridden`));
60
174
  }
61
175
  else {
62
176
  console.log(chalk_1.default.gray(`Path Mode: ${pathMode}`));
63
177
  }
64
- // Handle environment variables
65
- let envToUse = process.env;
66
178
  if (alias.env && Object.keys(alias.env).length > 0) {
67
- envToUse = (0, env_1.mergeEnvVars)(alias.env, process.env);
68
179
  console.log(chalk_1.default.gray(`Environment Variables: ${Object.keys(alias.env).length} loaded`));
69
180
  // Show any overrides
70
- const overrides = (0, env_1.getEnvOverrides)(alias.env, process.env);
71
- if (overrides.length > 0) {
72
- console.log(chalk_1.default.yellow(`\n⚠️ ${overrides.length} saved env variable(s) overridden by current environment:`));
73
- overrides.forEach(({ name }) => {
181
+ if (envOverrides.length > 0) {
182
+ console.log(chalk_1.default.yellow(`\n⚠️ ${envOverrides.length} saved env variable(s) overridden by current environment:`));
183
+ envOverrides.forEach(({ name }) => {
74
184
  console.log(chalk_1.default.yellow(` - ${name}`));
75
185
  });
76
186
  }
@@ -84,6 +194,8 @@ async function runCommand(name, overridePath) {
84
194
  console.log();
85
195
  // Execute the command with merged environment
86
196
  const result = await (0, executor_1.executeCommand)(alias.command, runDir, envToUse);
197
+ // Record execution in history (only on successful start, not dry-run)
198
+ (0, recent_1.recordExecution)(resolvedName);
87
199
  if (!result.success) {
88
200
  console.error(chalk_1.default.red('\n✗ Command failed'));
89
201
  if (result.exitCode !== undefined) {
@@ -1 +1 @@
1
- {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,7 @@
2
2
  * Interactively save a new command with prompts
3
3
  *
4
4
  * @param cwd - The default working directory to suggest (defaults to process.cwd())
5
+ * @param shouldValidate - Whether to validate the command (defaults to true)
5
6
  *
6
7
  * @example
7
8
  * ```
@@ -12,5 +13,5 @@
12
13
  * await saveCommand();
13
14
  * ```
14
15
  */
15
- export declare function saveCommand(cwd?: string): Promise<void>;
16
+ export declare function saveCommand(cwd?: string, shouldValidate?: boolean): Promise<void>;
16
17
  //# sourceMappingURL=save.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgM5E"}
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,WAAW,CAC/B,GAAG,GAAE,MAAsB,EAC3B,cAAc,GAAE,OAAc,GAC7B,OAAO,CAAC,IAAI,CAAC,CAiPf"}
@@ -10,10 +10,12 @@ const errors_1 = require("../utils/errors");
10
10
  const constants_1 = require("../utils/constants");
11
11
  const prompts_1 = require("../utils/prompts");
12
12
  const env_1 = require("../utils/env");
13
+ const validator_1 = require("../utils/validator");
13
14
  /**
14
15
  * Interactively save a new command with prompts
15
16
  *
16
17
  * @param cwd - The default working directory to suggest (defaults to process.cwd())
18
+ * @param shouldValidate - Whether to validate the command (defaults to true)
17
19
  *
18
20
  * @example
19
21
  * ```
@@ -24,7 +26,7 @@ const env_1 = require("../utils/env");
24
26
  * await saveCommand();
25
27
  * ```
26
28
  */
27
- async function saveCommand(cwd = process.cwd()) {
29
+ async function saveCommand(cwd = process.cwd(), shouldValidate = true) {
28
30
  try {
29
31
  // Prompt for command details including path mode
30
32
  const prompts = [
@@ -157,6 +159,47 @@ async function saveCommand(cwd = process.cwd()) {
157
159
  }
158
160
  }
159
161
  }
162
+ // Validate the command if requested
163
+ if (shouldValidate) {
164
+ console.log(chalk_1.default.blue('\nValidating command...'));
165
+ const report = (0, validator_1.validateCommandAlias)(answers.command, answers.directory, Object.keys(selectedEnv).length > 0 ? selectedEnv : undefined);
166
+ if (report.issues.length > 0) {
167
+ const errors = report.issues.filter((issue) => issue.type === 'error');
168
+ const warnings = report.issues.filter((issue) => issue.type === 'warning');
169
+ if (errors.length > 0) {
170
+ console.log(chalk_1.default.red(`\n✗ Validation failed with ${errors.length} error(s):\n`));
171
+ for (const error of errors) {
172
+ console.log(chalk_1.default.red(` [${error.field}] ${error.message}`));
173
+ }
174
+ console.log();
175
+ console.log(chalk_1.default.yellow('Use --no-validate flag to skip validation'));
176
+ process.exit(errors_1.ExitCode.InvalidInput);
177
+ }
178
+ if (warnings.length > 0) {
179
+ console.log(chalk_1.default.yellow(`\n⚠ ${warnings.length} warning(s):\n`));
180
+ for (const warning of warnings) {
181
+ console.log(chalk_1.default.yellow(` [${warning.field}] ${warning.message}`));
182
+ }
183
+ const continuePrompt = {
184
+ type: 'confirm',
185
+ name: 'continue',
186
+ message: 'Continue saving despite warnings?',
187
+ default: true,
188
+ };
189
+ const shouldContinue = await (0, prompts_1.promptConfirm)(continuePrompt);
190
+ if (!shouldContinue) {
191
+ console.log(chalk_1.default.yellow('Save cancelled'));
192
+ return;
193
+ }
194
+ }
195
+ else {
196
+ console.log(chalk_1.default.green('✓ Validation passed'));
197
+ }
198
+ }
199
+ else {
200
+ console.log(chalk_1.default.green('✓ Validation passed'));
201
+ }
202
+ }
160
203
  // Save the command with path mode and env vars
161
204
  try {
162
205
  const success = (0, storage_1.setAlias)(answers.name.trim(), answers.command, answers.directory, answers.pathMode, Object.keys(selectedEnv).length > 0 ? selectedEnv : undefined);
@@ -1 +1 @@
1
- {"version":3,"file":"save.js","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":";;;;;AA4BA,kCAgMC;AA5ND,kDAA0B;AAC1B,wCAA6D;AAC7D,4CAA2F;AAC3F,kDAAqF;AACrF,8CAO0B;AAC1B,sCAAgF;AAEhF;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,WAAW,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC3D,IAAI,CAAC;QACH,iDAAiD;QACjD,MAAM,OAAO,GAAqC;YAChD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,MAAM;gBACZ,OAAO,EAAE,gCAAgC;gBACzC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,yBAAa,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;oBAC1C,CAAC;oBACD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC1B,OAAO,yBAAa,CAAC,WAAW,CAAC;oBACnC,CAAC;oBACD,+BAA+B;oBAC/B,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtC,OAAO,kEAAkE,CAAC;oBAC5E,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,4BAA4B;gBACrC,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;wBAClB,OAAO,yBAAa,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;oBAC7C,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,8BAA8B;gBACvC,OAAO,EAAE,GAAG;gBACZ,QAAQ,EAAE,CAAC,KAAa,EAAE,EAAE;oBAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;oBAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,yBAAa,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;oBAC/C,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD;gBACE,IAAI,EAAE,MAAM;gBACZ,IAAI,EAAE,UAAU;gBAChB,OAAO,EAAE,mBAAmB;gBAC5B,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,qDAAqD;wBAC3D,KAAK,EAAE,OAAO;qBACf;oBACD;wBACE,IAAI,EAAE,2DAA2D;wBACjE,KAAK,EAAE,SAAS;qBACjB;iBACF;aACF;SACF,CAAC;QAEF,MAAM,OAAO,GAAG,MAAM,IAAA,wBAAc,EAKjC,OAAO,CAAC,CAAC;QAEZ,gCAAgC;QAChC,IAAI,IAAA,qBAAW,EAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,MAAM,aAAa,GAAkB;gBACnC,IAAI,EAAE,SAAS;gBACf,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,oBAAoB,OAAO,CAAC,IAAI,8BAA8B;gBACvE,OAAO,EAAE,KAAK;aACf,CAAC;YAEF,MAAM,OAAO,GAAG,MAAM,IAAA,uBAAa,EAAC,aAAa,CAAC,CAAC;YAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;gBAC5C,OAAO;YACT,CAAC;QACH,CAAC;QAED,qDAAqD;QACrD,MAAM,gBAAgB,GAAkB;YACtC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,YAAY;YAClB,OAAO,EAAE,0DAA0D;YACnE,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,MAAM,gBAAgB,GAAG,MAAM,IAAA,uBAAa,EAAC,gBAAgB,CAAC,CAAC;QAC/D,MAAM,WAAW,GAA2B,EAAE,CAAC;QAE/C,IAAI,gBAAgB,EAAE,CAAC;YACrB,MAAM,OAAO,GAAG,IAAA,oBAAc,GAAE,CAAC;YACjC,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAA,uBAAiB,EAAC,OAAO,CAAC,CAAC;YAEvD,IAAI,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAC;YAC5E,CAAC;iBAAM,CAAC;gBACN,2CAA2C;gBAC3C,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,6EAA6E,CAC9E,CACF,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;wBACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC,CAAC,CAAC;oBAC3C,CAAC,CAAC,CAAC;oBACH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;gBAClF,CAAC;gBAED,qCAAqC;gBACrC,MAAM,UAAU,GAAG;oBACjB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACjC,IAAI,EAAE,IAAA,mBAAa,EAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC/C,KAAK,EAAE,GAAG;wBACV,OAAO,EAAE,IAAI,EAAE,mCAAmC;qBACnD,CAAC,CAAC;oBACH,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;wBACtC,IAAI,EAAE,GAAG,IAAA,mBAAa,EAAC,EAAE,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;wBACnF,KAAK,EAAE,GAAG;wBACV,OAAO,EAAE,KAAK,EAAE,0CAA0C;qBAC3D,CAAC,CAAC;iBACJ,CAAC;gBAEF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1B,MAAM,cAAc,GAAmB;wBACrC,IAAI,EAAE,UAAU;wBAChB,IAAI,EAAE,SAAS;wBACf,OAAO,EAAE,6DAA6D;wBACtE,OAAO,EAAE,UAAU;qBACpB,CAAC;oBAEF,MAAM,YAAY,GAAG,MAAM,IAAA,wBAAc,EAAwB,CAAC,cAAc,CAAC,CAAC,CAAC;oBAEnF,gCAAgC;oBAChC,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;wBAC3C,WAAW,CAAC,OAAO,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC1C,CAAC;oBAED,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACxC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CACT,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,wCAAwC,CAC/E,CACF,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,kBAAQ,EACtB,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,EACnB,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,QAAQ,EAChB,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAC9D,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,4BAAgB,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;gBAC7D,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC;gBAC5D,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,QAAQ,CAAC,CAChF,CAAC;gBACJ,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAA,sBAAa,EAAC,0BAAc,CAAC,YAAY,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,sBAAa,EAAC,GAAG,0BAAc,CAAC,YAAY,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/E,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,IAAA,2BAAkB,EAAC,KAAK,CAAC,EAAE,CAAC;YAC9B,IAAA,sBAAa,EAAC,0BAAc,CAAC,uBAAuB,EAAE,iBAAQ,CAAC,YAAY,CAAC,CAAC;QAC/E,CAAC;aAAM,CAAC;YACN,IAAA,oBAAW,EAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Validate a single command by name
3
+ * @param name - The name of the command to validate
4
+ */
5
+ export declare function validateCommand(name: string): void;
6
+ /**
7
+ * Validate all saved commands
8
+ */
9
+ export declare function validateAllCommands(): void;
10
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CA+DlD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,IAAI,CAqG1C"}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateCommand = validateCommand;
7
+ exports.validateAllCommands = validateAllCommands;
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const storage_1 = require("../storage");
10
+ const validator_1 = require("../utils/validator");
11
+ const errors_1 = require("../utils/errors");
12
+ const constants_1 = require("../utils/constants");
13
+ /**
14
+ * Validate a single command by name
15
+ * @param name - The name of the command to validate
16
+ */
17
+ function validateCommand(name) {
18
+ try {
19
+ // Validate command name
20
+ if (!name || !name.trim()) {
21
+ (0, errors_1.exitWithError)('Command name cannot be empty', errors_1.ExitCode.InvalidInput);
22
+ }
23
+ // Get the command
24
+ const alias = (0, storage_1.getAlias)(name);
25
+ if (!alias) {
26
+ console.error(chalk_1.default.red(`Error: ${constants_1.ERROR_MESSAGES.commandNotFound(name)}`));
27
+ console.log(chalk_1.default.yellow(constants_1.HELP_MESSAGES.useList));
28
+ process.exit(errors_1.ExitCode.InvalidInput);
29
+ }
30
+ console.log(chalk_1.default.blue(`\nValidating command: ${name}\n`));
31
+ // Validate the command
32
+ const report = (0, validator_1.validateCommandAlias)(alias.command, alias.directory, alias.env);
33
+ // Display results
34
+ if (report.issues.length === 0) {
35
+ console.log(chalk_1.default.green('✓ No issues found'));
36
+ console.log(chalk_1.default.gray(` Command: ${alias.command}`));
37
+ console.log(chalk_1.default.gray(` Directory: ${alias.directory}`));
38
+ if (alias.env && Object.keys(alias.env).length > 0) {
39
+ console.log(chalk_1.default.gray(` Environment Variables: ${Object.keys(alias.env).length}`));
40
+ }
41
+ return;
42
+ }
43
+ // Separate errors and warnings
44
+ const errors = report.issues.filter((issue) => issue.type === 'error');
45
+ const warnings = report.issues.filter((issue) => issue.type === 'warning');
46
+ // Display errors
47
+ if (errors.length > 0) {
48
+ console.log(chalk_1.default.red(`✗ ${errors.length} error(s) found:\n`));
49
+ for (const error of errors) {
50
+ console.log(chalk_1.default.red(` [${error.field}] ${error.message}`));
51
+ }
52
+ console.log();
53
+ }
54
+ // Display warnings
55
+ if (warnings.length > 0) {
56
+ console.log(chalk_1.default.yellow(`⚠ ${warnings.length} warning(s) found:\n`));
57
+ for (const warning of warnings) {
58
+ console.log(chalk_1.default.yellow(` [${warning.field}] ${warning.message}`));
59
+ }
60
+ console.log();
61
+ }
62
+ // Display summary
63
+ if (report.valid) {
64
+ console.log(chalk_1.default.green('✓ Validation passed with warnings'));
65
+ }
66
+ else {
67
+ console.log(chalk_1.default.red('✗ Validation failed'));
68
+ process.exit(errors_1.ExitCode.InvalidInput);
69
+ }
70
+ }
71
+ catch (error) {
72
+ (0, errors_1.handleError)(error, 'Failed to validate command');
73
+ }
74
+ }
75
+ /**
76
+ * Validate all saved commands
77
+ */
78
+ function validateAllCommands() {
79
+ try {
80
+ const aliases = (0, storage_1.loadAliases)();
81
+ const names = Object.keys(aliases);
82
+ if (names.length === 0) {
83
+ console.log(chalk_1.default.yellow('No commands to validate'));
84
+ console.log(chalk_1.default.gray(constants_1.HELP_MESSAGES.useSaveOrPrev));
85
+ return;
86
+ }
87
+ console.log(chalk_1.default.blue(`\nValidating ${names.length} command(s)...\n`));
88
+ let totalErrors = 0;
89
+ let totalWarnings = 0;
90
+ const commandsWithErrors = [];
91
+ const commandsWithWarnings = [];
92
+ // Sort alphabetically
93
+ names.sort();
94
+ for (const name of names) {
95
+ const alias = aliases[name];
96
+ const report = (0, validator_1.validateCommandAlias)(alias.command, alias.directory, alias.env);
97
+ const errors = report.issues.filter((issue) => issue.type === 'error');
98
+ const warnings = report.issues.filter((issue) => issue.type === 'warning');
99
+ if (errors.length > 0) {
100
+ commandsWithErrors.push(name);
101
+ totalErrors += errors.length;
102
+ }
103
+ if (warnings.length > 0) {
104
+ commandsWithWarnings.push(name);
105
+ totalWarnings += warnings.length;
106
+ }
107
+ // Display command status
108
+ if (report.issues.length === 0) {
109
+ console.log(chalk_1.default.green(`✓ ${name}`));
110
+ }
111
+ else if (errors.length > 0) {
112
+ console.log(chalk_1.default.red(`✗ ${name}`));
113
+ for (const error of errors) {
114
+ console.log(chalk_1.default.red(` [${error.field}] ${error.message}`));
115
+ }
116
+ if (warnings.length > 0) {
117
+ for (const warning of warnings) {
118
+ console.log(chalk_1.default.yellow(` [${warning.field}] ${warning.message}`));
119
+ }
120
+ }
121
+ }
122
+ else {
123
+ console.log(chalk_1.default.yellow(`⚠ ${name}`));
124
+ for (const warning of warnings) {
125
+ console.log(chalk_1.default.yellow(` [${warning.field}] ${warning.message}`));
126
+ }
127
+ }
128
+ }
129
+ // Display summary
130
+ console.log(chalk_1.default.blue(`\n${'─'.repeat(50)}\n`));
131
+ console.log(chalk_1.default.bold('Validation Summary:\n'));
132
+ console.log(chalk_1.default.gray(` Total commands: ${names.length}`));
133
+ console.log(chalk_1.default.green(` ✓ Passed: ${names.length - commandsWithErrors.length - commandsWithWarnings.length}`));
134
+ if (commandsWithWarnings.length > 0) {
135
+ console.log(chalk_1.default.yellow(` ⚠ With warnings: ${commandsWithWarnings.length} (${totalWarnings} warnings)`));
136
+ }
137
+ if (commandsWithErrors.length > 0) {
138
+ console.log(chalk_1.default.red(` ✗ With errors: ${commandsWithErrors.length} (${totalErrors} errors)`));
139
+ console.log();
140
+ console.log(chalk_1.default.yellow('Commands with errors:'));
141
+ for (const name of commandsWithErrors) {
142
+ console.log(chalk_1.default.red(` - ${name}`));
143
+ }
144
+ console.log();
145
+ console.log(chalk_1.default.gray('Run "aliasmate validate <name>" for detailed validation'));
146
+ process.exit(errors_1.ExitCode.InvalidInput);
147
+ }
148
+ else {
149
+ console.log();
150
+ if (totalWarnings > 0) {
151
+ console.log(chalk_1.default.green('✓ All commands passed validation with warnings'));
152
+ }
153
+ else {
154
+ console.log(chalk_1.default.green('✓ All commands passed validation'));
155
+ }
156
+ }
157
+ }
158
+ catch (error) {
159
+ (0, errors_1.handleError)(error, 'Failed to validate commands');
160
+ }
161
+ }
162
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/commands/validate.ts"],"names":[],"mappings":";;;;;AAUA,0CA+DC;AAKD,kDAqGC;AAnLD,kDAA0B;AAC1B,wCAAmD;AACnD,kDAA0D;AAC1D,4CAAuE;AACvE,kDAAmE;AAEnE;;;GAGG;AACH,SAAgB,eAAe,CAAC,IAAY;IAC1C,IAAI,CAAC;QACH,wBAAwB;QACxB,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;YAC1B,IAAA,sBAAa,EAAC,8BAA8B,EAAE,iBAAQ,CAAC,YAAY,CAAC,CAAC;QACvE,CAAC;QAED,kBAAkB;QAClB,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC;QAC7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,UAAU,0BAAc,CAAC,eAAe,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;YAC3E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yBAAa,CAAC,OAAO,CAAC,CAAC,CAAC;YACjD,OAAO,CAAC,IAAI,CAAC,iBAAQ,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yBAAyB,IAAI,IAAI,CAAC,CAAC,CAAC;QAE3D,uBAAuB;QACvB,MAAM,MAAM,GAAG,IAAA,gCAAoB,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;QAE/E,kBAAkB;QAClB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACvD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC3D,IAAI,KAAK,CAAC,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACnD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;YACvF,CAAC;YACD,OAAO;QACT,CAAC;QAED,+BAA+B;QAC/B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;QACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;QAE3E,iBAAiB;QACjB,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,MAAM,CAAC,MAAM,oBAAoB,CAAC,CAAC,CAAC;YAC/D,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;gBAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAChE,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,mBAAmB;QACnB,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,MAAM,QAAQ,CAAC,MAAM,sBAAsB,CAAC,CAAC,CAAC;YACvE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACvE,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;QAED,kBAAkB;QAClB,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC,CAAC;QAChE,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAC9C,OAAO,CAAC,IAAI,CAAC,iBAAQ,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,oBAAW,EAAC,KAAK,EAAE,4BAA4B,CAAC,CAAC;IACnD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,mBAAmB;IACjC,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAA,qBAAW,GAAE,CAAC;QAC9B,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAEnC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yBAAa,CAAC,aAAa,CAAC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,MAAM,kBAAkB,CAAC,CAAC,CAAC;QAExE,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,aAAa,GAAG,CAAC,CAAC;QACtB,MAAM,kBAAkB,GAAa,EAAE,CAAC;QACxC,MAAM,oBAAoB,GAAa,EAAE,CAAC;QAE1C,sBAAsB;QACtB,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;YAC5B,MAAM,MAAM,GAAG,IAAA,gCAAoB,EAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC;YAE/E,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;YAE3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACtB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9B,WAAW,IAAI,MAAM,CAAC,MAAM,CAAC;YAC/B,CAAC;YAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxB,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAChC,aAAa,IAAI,QAAQ,CAAC,MAAM,CAAC;YACnC,CAAC;YAED,yBAAyB;YACzB,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;iBAAM,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;gBACpC,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;oBAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAClE,CAAC;gBACD,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,QAAQ,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACzE,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;gBACxC,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;oBAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,QAAQ,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;gBACzE,CAAC;YACH,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEjD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC7D,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CACT,eAAe,KAAK,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,GAAG,oBAAoB,CAAC,MAAM,EAAE,CACxF,CACF,CAAC;QAEF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACpC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CACV,uBAAuB,oBAAoB,CAAC,MAAM,KAAK,aAAa,YAAY,CACjF,CACF,CAAC;QACJ,CAAC;QAED,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAClC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,GAAG,CAAC,oBAAoB,kBAAkB,CAAC,MAAM,KAAK,WAAW,UAAU,CAAC,CACnF,CAAC;YACF,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;YACnD,KAAK,MAAM,IAAI,IAAI,kBAAkB,EAAE,CAAC;gBACtC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC;YACxC,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,IAAI,CAAC,iBAAQ,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;gBACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,oBAAW,EAAC,KAAK,EAAE,6BAA6B,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * Application constants
3
3
  */
4
4
  export declare const APP_NAME = "aliasmate";
5
- export declare const APP_VERSION = "1.5.1";
5
+ export declare const APP_VERSION = "1.6.1";
6
6
  export declare const CONFIG_DIR_NAME = ".config/aliasmate";
7
7
  export declare const CONFIG_FILE_NAME = "config.json";
8
8
  /**
@@ -5,7 +5,7 @@
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ERROR_MESSAGES = exports.SUCCESS_MESSAGES = exports.HELP_MESSAGES = exports.CONFIG_FILE_NAME = exports.CONFIG_DIR_NAME = exports.APP_VERSION = exports.APP_NAME = void 0;
7
7
  exports.APP_NAME = 'aliasmate';
8
- exports.APP_VERSION = '1.5.1';
8
+ exports.APP_VERSION = '1.6.1';
9
9
  exports.CONFIG_DIR_NAME = '.config/aliasmate';
10
10
  exports.CONFIG_FILE_NAME = 'config.json';
11
11
  /**
@@ -0,0 +1,30 @@
1
+ import { CommandAlias } from '../storage';
2
+ /**
3
+ * Supported output formats
4
+ */
5
+ export type OutputFormat = 'json' | 'yaml' | 'table' | 'compact';
6
+ /**
7
+ * Validate if a string is a valid output format
8
+ */
9
+ export declare function isValidFormat(format: string): format is OutputFormat;
10
+ /**
11
+ * Format aliases as JSON
12
+ */
13
+ export declare function formatAsJSON(aliases: Record<string, CommandAlias>, pretty?: boolean): string;
14
+ /**
15
+ * Format aliases as YAML
16
+ */
17
+ export declare function formatAsYAML(aliases: Record<string, CommandAlias>): string;
18
+ /**
19
+ * Format aliases as a table (default human-readable format)
20
+ */
21
+ export declare function formatAsTable(aliases: Record<string, CommandAlias>): string;
22
+ /**
23
+ * Format aliases in compact format (one line per command)
24
+ */
25
+ export declare function formatAsCompact(aliases: Record<string, CommandAlias>): string;
26
+ /**
27
+ * Format aliases based on the specified format
28
+ */
29
+ export declare function formatAliases(aliases: Record<string, CommandAlias>, format?: OutputFormat): string;
30
+ //# sourceMappingURL=formatters.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.d.ts","sourceRoot":"","sources":["../../src/utils/formatters.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAE1C;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;AAEjE;;GAEG;AACH,wBAAgB,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,IAAI,YAAY,CAEpE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,MAAM,GAAE,OAAc,GACrB,MAAM,CAER;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,CAgC1E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,CAkD3E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,MAAM,CA0C7E;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,EACrC,MAAM,GAAE,YAAsB,GAC7B,MAAM,CAaR"}