aliasmate 1.5.0 → 1.6.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.
- package/CHANGELOG.md +114 -0
- package/README.md +304 -3
- package/dist/cli.js +105 -16
- package/dist/cli.js.map +1 -1
- package/dist/commands/alias.d.ts +30 -0
- package/dist/commands/alias.d.ts.map +1 -0
- package/dist/commands/alias.js +213 -0
- package/dist/commands/alias.js.map +1 -0
- package/dist/commands/completion.d.ts +17 -0
- package/dist/commands/completion.d.ts.map +1 -0
- package/dist/commands/completion.js +363 -0
- package/dist/commands/completion.js.map +1 -0
- package/dist/commands/edit.d.ts +2 -1
- package/dist/commands/edit.d.ts.map +1 -1
- package/dist/commands/edit.js +44 -1
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/export.d.ts +7 -3
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +23 -10
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/list.d.ts +4 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +14 -71
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/recent.d.ts +24 -0
- package/dist/commands/recent.d.ts.map +1 -0
- package/dist/commands/recent.js +132 -0
- package/dist/commands/recent.js.map +1 -0
- package/dist/commands/run.d.ts +6 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +123 -11
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/save.d.ts +2 -1
- package/dist/commands/save.d.ts.map +1 -1
- package/dist/commands/save.js +44 -1
- package/dist/commands/save.js.map +1 -1
- package/dist/commands/validate.d.ts +10 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +162 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/utils/constants.d.ts +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/formatters.d.ts +30 -0
- package/dist/utils/formatters.d.ts.map +1 -0
- package/dist/utils/formatters.js +188 -0
- package/dist/utils/formatters.js.map +1 -0
- package/dist/utils/llm-generator.d.ts.map +1 -1
- package/dist/utils/llm-generator.js +489 -27
- package/dist/utils/llm-generator.js.map +1 -1
- package/dist/utils/recent.d.ts +55 -0
- package/dist/utils/recent.d.ts.map +1 -0
- package/dist/utils/recent.js +102 -0
- package/dist/utils/recent.js.map +1 -0
- package/dist/utils/validator.d.ts +56 -0
- package/dist/utils/validator.d.ts.map +1 -0
- package/dist/utils/validator.js +413 -0
- package/dist/utils/validator.js.map +1 -0
- package/package.json +1 -1
- package/whats-new.json +42 -0
|
@@ -0,0 +1,363 @@
|
|
|
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.generateBashCompletion = generateBashCompletion;
|
|
7
|
+
exports.generateZshCompletion = generateZshCompletion;
|
|
8
|
+
exports.generateFishCompletion = generateFishCompletion;
|
|
9
|
+
exports.completionCommand = completionCommand;
|
|
10
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
11
|
+
const storage_1 = require("../storage");
|
|
12
|
+
/**
|
|
13
|
+
* Generate bash completion script
|
|
14
|
+
*/
|
|
15
|
+
function generateBashCompletion() {
|
|
16
|
+
const aliases = (0, storage_1.loadAliases)();
|
|
17
|
+
const commandNames = Object.keys(aliases);
|
|
18
|
+
const commandList = commandNames.join(' ');
|
|
19
|
+
return `# Bash completion for aliasmate
|
|
20
|
+
# Source this file or add it to your ~/.bashrc:
|
|
21
|
+
# source <(aliasmate completion bash)
|
|
22
|
+
|
|
23
|
+
_aliasmate_completion() {
|
|
24
|
+
local cur prev opts base
|
|
25
|
+
COMPREPLY=()
|
|
26
|
+
cur="\${COMP_WORDS[COMP_CWORD]}"
|
|
27
|
+
prev="\${COMP_WORDS[COMP_CWORD-1]}"
|
|
28
|
+
|
|
29
|
+
# Main commands
|
|
30
|
+
local commands="prev run save list ls search find recent delete rm edit export import changelog alias validate config completion"
|
|
31
|
+
|
|
32
|
+
# Saved command names
|
|
33
|
+
local saved_commands="${commandList}"
|
|
34
|
+
|
|
35
|
+
# Options for specific commands
|
|
36
|
+
case "\${COMP_WORDS[1]}" in
|
|
37
|
+
run)
|
|
38
|
+
case "\${prev}" in
|
|
39
|
+
run)
|
|
40
|
+
COMPREPLY=( $(compgen -W "\${saved_commands}" -- \${cur}) )
|
|
41
|
+
return 0
|
|
42
|
+
;;
|
|
43
|
+
--format)
|
|
44
|
+
COMPREPLY=( $(compgen -W "table json yaml compact" -- \${cur}) )
|
|
45
|
+
return 0
|
|
46
|
+
;;
|
|
47
|
+
*)
|
|
48
|
+
if [[ \${cur} == -* ]] ; then
|
|
49
|
+
COMPREPLY=( $(compgen -W "--dry-run --verbose" -- \${cur}) )
|
|
50
|
+
return 0
|
|
51
|
+
else
|
|
52
|
+
COMPREPLY=( $(compgen -d -- \${cur}) )
|
|
53
|
+
return 0
|
|
54
|
+
fi
|
|
55
|
+
;;
|
|
56
|
+
esac
|
|
57
|
+
;;
|
|
58
|
+
list|ls)
|
|
59
|
+
case "\${prev}" in
|
|
60
|
+
--format)
|
|
61
|
+
COMPREPLY=( $(compgen -W "table json yaml compact" -- \${cur}) )
|
|
62
|
+
return 0
|
|
63
|
+
;;
|
|
64
|
+
*)
|
|
65
|
+
if [[ \${cur} == -* ]] ; then
|
|
66
|
+
COMPREPLY=( $(compgen -W "--format" -- \${cur}) )
|
|
67
|
+
return 0
|
|
68
|
+
fi
|
|
69
|
+
;;
|
|
70
|
+
esac
|
|
71
|
+
;;
|
|
72
|
+
export)
|
|
73
|
+
case "\${prev}" in
|
|
74
|
+
--format)
|
|
75
|
+
COMPREPLY=( $(compgen -W "json yaml" -- \${cur}) )
|
|
76
|
+
return 0
|
|
77
|
+
;;
|
|
78
|
+
export)
|
|
79
|
+
COMPREPLY=( $(compgen -f -- \${cur}) )
|
|
80
|
+
return 0
|
|
81
|
+
;;
|
|
82
|
+
*)
|
|
83
|
+
if [[ \${cur} == -* ]] ; then
|
|
84
|
+
COMPREPLY=( $(compgen -W "--format" -- \${cur}) )
|
|
85
|
+
return 0
|
|
86
|
+
fi
|
|
87
|
+
;;
|
|
88
|
+
esac
|
|
89
|
+
;;
|
|
90
|
+
import)
|
|
91
|
+
case "\${prev}" in
|
|
92
|
+
import)
|
|
93
|
+
COMPREPLY=( $(compgen -f -- \${cur}) )
|
|
94
|
+
return 0
|
|
95
|
+
;;
|
|
96
|
+
esac
|
|
97
|
+
;;
|
|
98
|
+
delete|rm|edit|validate|prev)
|
|
99
|
+
case "\${prev}" in
|
|
100
|
+
delete|rm|edit|validate|prev)
|
|
101
|
+
COMPREPLY=( $(compgen -W "\${saved_commands}" -- \${cur}) )
|
|
102
|
+
return 0
|
|
103
|
+
;;
|
|
104
|
+
esac
|
|
105
|
+
;;
|
|
106
|
+
alias)
|
|
107
|
+
case "\${prev}" in
|
|
108
|
+
alias)
|
|
109
|
+
if [[ \${cur} == -* ]] ; then
|
|
110
|
+
COMPREPLY=( $(compgen -W "--list --remove" -- \${cur}) )
|
|
111
|
+
return 0
|
|
112
|
+
fi
|
|
113
|
+
;;
|
|
114
|
+
--remove)
|
|
115
|
+
# Get aliases from storage
|
|
116
|
+
COMPREPLY=( $(compgen -W "\${saved_commands}" -- \${cur}) )
|
|
117
|
+
return 0
|
|
118
|
+
;;
|
|
119
|
+
esac
|
|
120
|
+
;;
|
|
121
|
+
recent)
|
|
122
|
+
case "\${prev}" in
|
|
123
|
+
--limit)
|
|
124
|
+
return 0
|
|
125
|
+
;;
|
|
126
|
+
*)
|
|
127
|
+
if [[ \${cur} == -* ]] ; then
|
|
128
|
+
COMPREPLY=( $(compgen -W "--limit --clear" -- \${cur}) )
|
|
129
|
+
return 0
|
|
130
|
+
fi
|
|
131
|
+
;;
|
|
132
|
+
esac
|
|
133
|
+
;;
|
|
134
|
+
save)
|
|
135
|
+
if [[ \${cur} == -* ]] ; then
|
|
136
|
+
COMPREPLY=( $(compgen -W "--no-validate" -- \${cur}) )
|
|
137
|
+
return 0
|
|
138
|
+
fi
|
|
139
|
+
;;
|
|
140
|
+
completion)
|
|
141
|
+
case "\${prev}" in
|
|
142
|
+
completion)
|
|
143
|
+
COMPREPLY=( $(compgen -W "bash zsh fish" -- \${cur}) )
|
|
144
|
+
return 0
|
|
145
|
+
;;
|
|
146
|
+
esac
|
|
147
|
+
;;
|
|
148
|
+
*)
|
|
149
|
+
COMPREPLY=( $(compgen -W "\${commands}" -- \${cur}) )
|
|
150
|
+
return 0
|
|
151
|
+
;;
|
|
152
|
+
esac
|
|
153
|
+
}
|
|
154
|
+
|
|
155
|
+
complete -F _aliasmate_completion aliasmate
|
|
156
|
+
`;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Generate zsh completion script
|
|
160
|
+
*/
|
|
161
|
+
function generateZshCompletion() {
|
|
162
|
+
const aliases = (0, storage_1.loadAliases)();
|
|
163
|
+
const commandNames = Object.keys(aliases);
|
|
164
|
+
const commandList = commandNames.map((name) => `'${name}'`).join(' ');
|
|
165
|
+
return `#compdef aliasmate
|
|
166
|
+
# Zsh completion for aliasmate
|
|
167
|
+
# Add this file to your fpath or add to ~/.zshrc:
|
|
168
|
+
# source <(aliasmate completion zsh)
|
|
169
|
+
|
|
170
|
+
_aliasmate() {
|
|
171
|
+
local line state
|
|
172
|
+
|
|
173
|
+
_arguments -C \\
|
|
174
|
+
"1: :->cmds" \\
|
|
175
|
+
"*::arg:->args"
|
|
176
|
+
|
|
177
|
+
case "$state" in
|
|
178
|
+
cmds)
|
|
179
|
+
_values 'commands' \\
|
|
180
|
+
'prev[Save previous command from history]' \\
|
|
181
|
+
'run[Run a saved command]' \\
|
|
182
|
+
'save[Interactively save a command]' \\
|
|
183
|
+
'list[List all saved commands]' \\
|
|
184
|
+
'ls[List all saved commands]' \\
|
|
185
|
+
'search[Search for commands]' \\
|
|
186
|
+
'find[Search for commands]' \\
|
|
187
|
+
'recent[Show recently executed commands]' \\
|
|
188
|
+
'delete[Delete a saved command]' \\
|
|
189
|
+
'rm[Delete a saved command]' \\
|
|
190
|
+
'edit[Edit a saved command]' \\
|
|
191
|
+
'export[Export commands to file]' \\
|
|
192
|
+
'import[Import commands from file]' \\
|
|
193
|
+
'changelog[View version changelog]' \\
|
|
194
|
+
'alias[Create, list, or remove aliases]' \\
|
|
195
|
+
'validate[Validate command(s)]' \\
|
|
196
|
+
'config[Show config file location]' \\
|
|
197
|
+
'completion[Generate shell completion script]'
|
|
198
|
+
;;
|
|
199
|
+
args)
|
|
200
|
+
case "$line[1]" in
|
|
201
|
+
run)
|
|
202
|
+
_arguments \\
|
|
203
|
+
'1:command name:(${commandList})' \\
|
|
204
|
+
'2:path:_files -/' \\
|
|
205
|
+
'--dry-run[Preview without executing]' \\
|
|
206
|
+
'--verbose[Show detailed information]'
|
|
207
|
+
;;
|
|
208
|
+
list|ls)
|
|
209
|
+
_arguments \\
|
|
210
|
+
'--format[Output format]:format:(table json yaml compact)'
|
|
211
|
+
;;
|
|
212
|
+
export)
|
|
213
|
+
_arguments \\
|
|
214
|
+
'1:file:_files' \\
|
|
215
|
+
'--format[Output format]:format:(json yaml)'
|
|
216
|
+
;;
|
|
217
|
+
import)
|
|
218
|
+
_arguments \\
|
|
219
|
+
'1:file:_files'
|
|
220
|
+
;;
|
|
221
|
+
delete|rm|edit|validate|prev)
|
|
222
|
+
_arguments \\
|
|
223
|
+
"1:command name:(${commandList})"
|
|
224
|
+
;;
|
|
225
|
+
search|find)
|
|
226
|
+
_arguments \\
|
|
227
|
+
'1:query:'
|
|
228
|
+
;;
|
|
229
|
+
alias)
|
|
230
|
+
_arguments \\
|
|
231
|
+
'1:alias name:' \\
|
|
232
|
+
'2:command name:(${commandList})' \\
|
|
233
|
+
'--list[List all aliases]' \\
|
|
234
|
+
'--remove[Remove an alias]:alias:(${commandList})'
|
|
235
|
+
;;
|
|
236
|
+
recent)
|
|
237
|
+
_arguments \\
|
|
238
|
+
'--limit[Maximum number to display]:limit:' \\
|
|
239
|
+
'--clear[Clear execution history]'
|
|
240
|
+
;;
|
|
241
|
+
save)
|
|
242
|
+
_arguments \\
|
|
243
|
+
'--no-validate[Skip validation checks]'
|
|
244
|
+
;;
|
|
245
|
+
completion)
|
|
246
|
+
_arguments \\
|
|
247
|
+
'1:shell:(bash zsh fish)'
|
|
248
|
+
;;
|
|
249
|
+
esac
|
|
250
|
+
;;
|
|
251
|
+
esac
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
compdef _aliasmate aliasmate
|
|
255
|
+
`;
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Generate fish completion script
|
|
259
|
+
*/
|
|
260
|
+
function generateFishCompletion() {
|
|
261
|
+
const aliases = (0, storage_1.loadAliases)();
|
|
262
|
+
const commandNames = Object.keys(aliases);
|
|
263
|
+
const commandCompletions = commandNames
|
|
264
|
+
.map((name) => `complete -c aliasmate -n "__fish_seen_subcommand_from run delete rm edit validate prev" -a "${name}"`)
|
|
265
|
+
.join('\n');
|
|
266
|
+
return `# Fish completion for aliasmate
|
|
267
|
+
# Save this to ~/.config/fish/completions/aliasmate.fish or add to your config:
|
|
268
|
+
# aliasmate completion fish > ~/.config/fish/completions/aliasmate.fish
|
|
269
|
+
|
|
270
|
+
# Disable file completion by default
|
|
271
|
+
complete -c aliasmate -f
|
|
272
|
+
|
|
273
|
+
# Main commands
|
|
274
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "prev" -d "Save previous command from history"
|
|
275
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "run" -d "Run a saved command"
|
|
276
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "save" -d "Interactively save a command"
|
|
277
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "list" -d "List all saved commands"
|
|
278
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "ls" -d "List all saved commands"
|
|
279
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "search" -d "Search for commands"
|
|
280
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "find" -d "Search for commands"
|
|
281
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "recent" -d "Show recently executed commands"
|
|
282
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "delete" -d "Delete a saved command"
|
|
283
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "rm" -d "Delete a saved command"
|
|
284
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "edit" -d "Edit a saved command"
|
|
285
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "export" -d "Export commands to file"
|
|
286
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "import" -d "Import commands from file"
|
|
287
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "changelog" -d "View version changelog"
|
|
288
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "alias" -d "Create, list, or remove aliases"
|
|
289
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "validate" -d "Validate command(s)"
|
|
290
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "config" -d "Show config file location"
|
|
291
|
+
complete -c aliasmate -n "__fish_use_subcommand" -a "completion" -d "Generate shell completion script"
|
|
292
|
+
|
|
293
|
+
# Saved command completions
|
|
294
|
+
${commandCompletions}
|
|
295
|
+
|
|
296
|
+
# run command options
|
|
297
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from run" -l dry-run -d "Preview without executing"
|
|
298
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from run" -l verbose -d "Show detailed information"
|
|
299
|
+
|
|
300
|
+
# list/ls command options
|
|
301
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from list ls" -l format -d "Output format" -a "table json yaml compact"
|
|
302
|
+
|
|
303
|
+
# export command options
|
|
304
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from export" -l format -d "Output format" -a "json yaml"
|
|
305
|
+
|
|
306
|
+
# alias command options
|
|
307
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from alias" -l list -d "List all aliases"
|
|
308
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from alias" -l remove -d "Remove an alias"
|
|
309
|
+
|
|
310
|
+
# recent command options
|
|
311
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from recent" -l limit -d "Maximum number to display"
|
|
312
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from recent" -l clear -d "Clear execution history"
|
|
313
|
+
|
|
314
|
+
# save command options
|
|
315
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from save" -l no-validate -d "Skip validation checks"
|
|
316
|
+
|
|
317
|
+
# validate command options
|
|
318
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from validate" -l all -d "Validate all saved commands"
|
|
319
|
+
|
|
320
|
+
# completion command shell types
|
|
321
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from completion" -a "bash zsh fish" -d "Shell type"
|
|
322
|
+
|
|
323
|
+
# File completions for import/export
|
|
324
|
+
complete -c aliasmate -n "__fish_seen_subcommand_from import export" -F
|
|
325
|
+
`;
|
|
326
|
+
}
|
|
327
|
+
/**
|
|
328
|
+
* Display completion script for specified shell
|
|
329
|
+
*/
|
|
330
|
+
function completionCommand(shell) {
|
|
331
|
+
if (!shell) {
|
|
332
|
+
console.log(chalk_1.default.yellow('Usage: aliasmate completion <shell>'));
|
|
333
|
+
console.log(chalk_1.default.gray('\nAvailable shells:'));
|
|
334
|
+
console.log(chalk_1.default.gray(' bash - Generate bash completion script'));
|
|
335
|
+
console.log(chalk_1.default.gray(' zsh - Generate zsh completion script'));
|
|
336
|
+
console.log(chalk_1.default.gray(' fish - Generate fish completion script'));
|
|
337
|
+
console.log(chalk_1.default.gray('\nExamples:'));
|
|
338
|
+
console.log(chalk_1.default.cyan(' # Bash'));
|
|
339
|
+
console.log(chalk_1.default.gray(' source <(aliasmate completion bash)'));
|
|
340
|
+
console.log(chalk_1.default.cyan('\n # Zsh'));
|
|
341
|
+
console.log(chalk_1.default.gray(' source <(aliasmate completion zsh)'));
|
|
342
|
+
console.log(chalk_1.default.cyan('\n # Fish'));
|
|
343
|
+
console.log(chalk_1.default.gray(' aliasmate completion fish > ~/.config/fish/completions/aliasmate.fish'));
|
|
344
|
+
return;
|
|
345
|
+
}
|
|
346
|
+
const normalizedShell = shell.toLowerCase();
|
|
347
|
+
switch (normalizedShell) {
|
|
348
|
+
case 'bash':
|
|
349
|
+
console.log(generateBashCompletion());
|
|
350
|
+
break;
|
|
351
|
+
case 'zsh':
|
|
352
|
+
console.log(generateZshCompletion());
|
|
353
|
+
break;
|
|
354
|
+
case 'fish':
|
|
355
|
+
console.log(generateFishCompletion());
|
|
356
|
+
break;
|
|
357
|
+
default:
|
|
358
|
+
console.error(chalk_1.default.red(`Error: Unsupported shell "${shell}"`));
|
|
359
|
+
console.log(chalk_1.default.yellow('Supported shells: bash, zsh, fish'));
|
|
360
|
+
process.exit(1);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
//# sourceMappingURL=completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"completion.js","sourceRoot":"","sources":["../../src/commands/completion.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/edit.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Edit an existing command interactively
|
|
3
3
|
*
|
|
4
4
|
* @param name - The name of the command to edit
|
|
5
|
+
* @param shouldValidate - Whether to validate the command (defaults to true)
|
|
5
6
|
*
|
|
6
7
|
* @example
|
|
7
8
|
* ```
|
|
@@ -11,5 +12,5 @@
|
|
|
11
12
|
* await editCommand('build-prod');
|
|
12
13
|
* ```
|
|
13
14
|
*/
|
|
14
|
-
export declare function editCommand(name: string): Promise<void>;
|
|
15
|
+
export declare function editCommand(name: string, shouldValidate?: boolean): Promise<void>;
|
|
15
16
|
//# sourceMappingURL=edit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/commands/edit.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"edit.d.ts","sourceRoot":"","sources":["../../src/commands/edit.ts"],"names":[],"mappings":"AAeA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,GAAE,OAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAgP7F"}
|
package/dist/commands/edit.js
CHANGED
|
@@ -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
|
* Edit an existing command interactively
|
|
15
16
|
*
|
|
16
17
|
* @param name - The name of the command to edit
|
|
18
|
+
* @param shouldValidate - Whether to validate the command (defaults to true)
|
|
17
19
|
*
|
|
18
20
|
* @example
|
|
19
21
|
* ```
|
|
@@ -23,7 +25,7 @@ const env_1 = require("../utils/env");
|
|
|
23
25
|
* await editCommand('build-prod');
|
|
24
26
|
* ```
|
|
25
27
|
*/
|
|
26
|
-
async function editCommand(name) {
|
|
28
|
+
async function editCommand(name, shouldValidate = true) {
|
|
27
29
|
try {
|
|
28
30
|
// Get the existing alias
|
|
29
31
|
const alias = (0, storage_1.getAlias)(name);
|
|
@@ -153,6 +155,47 @@ async function editCommand(name) {
|
|
|
153
155
|
console.log(chalk_1.default.yellow('No changes made'));
|
|
154
156
|
return;
|
|
155
157
|
}
|
|
158
|
+
// Validate the command if requested
|
|
159
|
+
if (shouldValidate) {
|
|
160
|
+
console.log(chalk_1.default.blue('\nValidating command...'));
|
|
161
|
+
const report = (0, validator_1.validateCommandAlias)(answers.command, answers.directory, selectedEnv);
|
|
162
|
+
if (report.issues.length > 0) {
|
|
163
|
+
const errors = report.issues.filter((issue) => issue.type === 'error');
|
|
164
|
+
const warnings = report.issues.filter((issue) => issue.type === 'warning');
|
|
165
|
+
if (errors.length > 0) {
|
|
166
|
+
console.log(chalk_1.default.red(`\n✗ Validation failed with ${errors.length} error(s):\n`));
|
|
167
|
+
for (const error of errors) {
|
|
168
|
+
console.log(chalk_1.default.red(` [${error.field}] ${error.message}`));
|
|
169
|
+
}
|
|
170
|
+
console.log();
|
|
171
|
+
console.log(chalk_1.default.yellow('Use --no-validate flag to skip validation'));
|
|
172
|
+
process.exit(errors_1.ExitCode.InvalidInput);
|
|
173
|
+
}
|
|
174
|
+
if (warnings.length > 0) {
|
|
175
|
+
console.log(chalk_1.default.yellow(`\n⚠ ${warnings.length} warning(s):\n`));
|
|
176
|
+
for (const warning of warnings) {
|
|
177
|
+
console.log(chalk_1.default.yellow(` [${warning.field}] ${warning.message}`));
|
|
178
|
+
}
|
|
179
|
+
const continuePrompt = {
|
|
180
|
+
type: 'confirm',
|
|
181
|
+
name: 'continue',
|
|
182
|
+
message: 'Continue saving despite warnings?',
|
|
183
|
+
default: true,
|
|
184
|
+
};
|
|
185
|
+
const shouldContinue = await (0, prompts_1.promptConfirm)(continuePrompt);
|
|
186
|
+
if (!shouldContinue) {
|
|
187
|
+
console.log(chalk_1.default.yellow('Edit cancelled'));
|
|
188
|
+
return;
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
console.log(chalk_1.default.green('✓ Validation passed'));
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
else {
|
|
196
|
+
console.log(chalk_1.default.green('✓ Validation passed'));
|
|
197
|
+
}
|
|
198
|
+
}
|
|
156
199
|
// Update the alias with path mode and env vars
|
|
157
200
|
try {
|
|
158
201
|
const success = (0, storage_1.setAlias)(name, answers.command, answers.directory, answers.pathMode, selectedEnv);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/commands/edit.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"edit.js","sourceRoot":"","sources":["../../src/commands/edit.ts"],"names":[],"mappings":";;;;;AA6BA,kCAgPC;AA7QD,kDAA0B;AAC1B,wCAA0D;AAC1D,4CAA2F;AAC3F,kDAAqF;AACrF,8CAO0B;AAC1B,sCAAgF;AAChF,kDAA0D;AAE1D;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,iBAA0B,IAAI;IAC5E,IAAI,CAAC;QACH,yBAAyB;QACzB,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC;QAE7B,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,oBAAoB,IAAI,IAAI,CAAC,CAAC,CAAC;QAEtD,4CAA4C;QAC5C,MAAM,OAAO,GAAqC;YAChD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,SAAS;gBACf,OAAO,EAAE,UAAU;gBACnB,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,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,SAAS,CAAC,CAAC;oBAC7C,CAAC;oBACD,OAAO,IAAI,CAAC;gBACd,CAAC;aACF;YACD;gBACE,IAAI,EAAE,OAAO;gBACb,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,oBAAoB;gBAC7B,OAAO,EAAE,KAAK,CAAC,SAAS;gBACxB,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,YAAY;gBACrB,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,EAIjC,OAAO,CAAC,CAAC;QAEZ,oDAAoD;QACpD,MAAM,eAAe,GAAkB;YACrC,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,+BAA+B;YACxC,OAAO,EAAE,KAAK;SACf,CAAC;QAEF,MAAM,eAAe,GAAG,MAAM,IAAA,uBAAa,EAAC,eAAe,CAAC,CAAC;QAC7D,IAAI,WAAW,GAAuC,KAAK,CAAC,GAAG,CAAC;QAEhE,IAAI,eAAe,EAAE,CAAC;YACpB,wDAAwD;YACxD,MAAM,UAAU,GAAG,IAAA,oBAAc,GAAE,CAAC;YACpC,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC;YAEjC,iCAAiC;YACjC,MAAM,MAAM,GAAG,EAAE,GAAG,UAAU,EAAE,GAAG,QAAQ,EAAE,CAAC;YAC9C,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAA,uBAAiB,EAAC,MAAM,CAAC,CAAC;YAEtD,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBAC1E,WAAW,GAAG,SAAS,CAAC;YAC1B,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,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;wBAC9C,KAAK,EAAE,GAAG;wBACV,OAAO,EAAE,GAAG,IAAI,QAAQ,EAAE,yBAAyB;qBACpD,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,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,eAAK,CAAC,MAAM,CAAC,aAAa,CAAC,EAAE;wBAClF,KAAK,EAAE,GAAG;wBACV,OAAO,EAAE,GAAG,IAAI,QAAQ,EAAE,yBAAyB;qBACpD,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,MAAM,MAAM,GAA2B,EAAE,CAAC;oBAC1C,KAAK,MAAM,OAAO,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;wBAC3C,MAAM,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;oBACpC,CAAC;oBAED,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;oBAElE,IAAI,WAAW,EAAE,CAAC;wBAChB,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,KAAK,CACT,OAAO,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,wCAAwC,CAC/E,CACF,CAAC;oBACJ,CAAC;yBAAM,CAAC;wBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;oBACrE,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,4BAA4B;QAC5B,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,CAAC,CAAC,gDAAgD;QACnG,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,WAAW,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QAEzF,IACE,OAAO,CAAC,OAAO,KAAK,KAAK,CAAC,OAAO;YACjC,OAAO,CAAC,SAAS,KAAK,KAAK,CAAC,SAAS;YACrC,OAAO,CAAC,QAAQ,KAAK,eAAe;YACpC,CAAC,UAAU,EACX,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,oCAAoC;QACpC,IAAI,cAAc,EAAE,CAAC;YACnB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,IAAA,gCAAoB,EAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;YAErF,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC7B,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC;gBACvE,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC;gBAE3E,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,8BAA8B,MAAM,CAAC,MAAM,cAAc,CAAC,CAAC,CAAC;oBAClF,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;wBAC3B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBAChE,CAAC;oBACD,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,2CAA2C,CAAC,CAAC,CAAC;oBACvE,OAAO,CAAC,IAAI,CAAC,iBAAQ,CAAC,YAAY,CAAC,CAAC;gBACtC,CAAC;gBAED,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACxB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,QAAQ,QAAQ,CAAC,MAAM,gBAAgB,CAAC,CAAC,CAAC;oBACnE,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,MAAM,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACvE,CAAC;oBAED,MAAM,cAAc,GAAkB;wBACpC,IAAI,EAAE,SAAS;wBACf,IAAI,EAAE,UAAU;wBAChB,OAAO,EAAE,mCAAmC;wBAC5C,OAAO,EAAE,IAAI;qBACd,CAAC;oBAEF,MAAM,cAAc,GAAG,MAAM,IAAA,uBAAa,EAAC,cAAc,CAAC,CAAC;oBAC3D,IAAI,CAAC,cAAc,EAAE,CAAC;wBACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,CAAC;wBAC5C,OAAO;oBACT,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,IAAA,kBAAQ,EACtB,IAAI,EACJ,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,SAAS,EACjB,OAAO,CAAC,QAAQ,EAChB,WAAW,CACZ,CAAC;YAEF,IAAI,OAAO,EAAE,CAAC;gBACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,4BAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;gBAChE,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,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACvD,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,IAAI,CAAC,4BAA4B,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,MAAM,QAAQ,CAAC,CAChF,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC,CAAC;gBAC3D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,IAAA,sBAAa,EAAC,0BAAc,CAAC,cAAc,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,sBAAa,EAAC,GAAG,0BAAc,CAAC,cAAc,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;QACjF,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,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Export all saved commands to a
|
|
2
|
+
* Export all saved commands to a file
|
|
3
3
|
*
|
|
4
4
|
* Creates a portable backup of all commands with metadata, suitable for:
|
|
5
5
|
* - Sharing with team members
|
|
@@ -7,13 +7,17 @@
|
|
|
7
7
|
* - Migrating between machines
|
|
8
8
|
*
|
|
9
9
|
* @param filePath - The path where the export file should be created
|
|
10
|
+
* @param format - Output format: 'json' (default) or 'yaml'
|
|
10
11
|
*
|
|
11
12
|
* @example
|
|
12
13
|
* ```
|
|
13
|
-
* // Export to
|
|
14
|
+
* // Export to JSON file
|
|
14
15
|
* exportCommand('./my-commands.json');
|
|
15
16
|
* // Output: ✓ Exported 15 command(s) to /path/to/my-commands.json
|
|
17
|
+
*
|
|
18
|
+
* // Export to YAML file
|
|
19
|
+
* exportCommand('./my-commands.yaml', 'yaml');
|
|
16
20
|
* ```
|
|
17
21
|
*/
|
|
18
|
-
export declare function exportCommand(filePath: string): void;
|
|
22
|
+
export declare function exportCommand(filePath: string, format?: 'json' | 'yaml'): void;
|
|
19
23
|
//# sourceMappingURL=export.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"export.d.ts","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,MAAe,GAAG,IAAI,CAiEtF"}
|
package/dist/commands/export.js
CHANGED
|
@@ -43,8 +43,9 @@ const chalk_1 = __importDefault(require("chalk"));
|
|
|
43
43
|
const storage_1 = require("../storage");
|
|
44
44
|
const errors_1 = require("../utils/errors");
|
|
45
45
|
const constants_1 = require("../utils/constants");
|
|
46
|
+
const formatters_1 = require("../utils/formatters");
|
|
46
47
|
/**
|
|
47
|
-
* Export all saved commands to a
|
|
48
|
+
* Export all saved commands to a file
|
|
48
49
|
*
|
|
49
50
|
* Creates a portable backup of all commands with metadata, suitable for:
|
|
50
51
|
* - Sharing with team members
|
|
@@ -52,15 +53,19 @@ const constants_1 = require("../utils/constants");
|
|
|
52
53
|
* - Migrating between machines
|
|
53
54
|
*
|
|
54
55
|
* @param filePath - The path where the export file should be created
|
|
56
|
+
* @param format - Output format: 'json' (default) or 'yaml'
|
|
55
57
|
*
|
|
56
58
|
* @example
|
|
57
59
|
* ```
|
|
58
|
-
* // Export to
|
|
60
|
+
* // Export to JSON file
|
|
59
61
|
* exportCommand('./my-commands.json');
|
|
60
62
|
* // Output: ✓ Exported 15 command(s) to /path/to/my-commands.json
|
|
63
|
+
*
|
|
64
|
+
* // Export to YAML file
|
|
65
|
+
* exportCommand('./my-commands.yaml', 'yaml');
|
|
61
66
|
* ```
|
|
62
67
|
*/
|
|
63
|
-
function exportCommand(filePath) {
|
|
68
|
+
function exportCommand(filePath, format = 'json') {
|
|
64
69
|
try {
|
|
65
70
|
// Validate file path
|
|
66
71
|
if (!filePath || !filePath.trim()) {
|
|
@@ -88,14 +93,22 @@ function exportCommand(filePath) {
|
|
|
88
93
|
(0, errors_1.exitWithError)(`Could not create directory: ${mkdirError.message}`, errors_1.ExitCode.PermissionDenied);
|
|
89
94
|
}
|
|
90
95
|
}
|
|
91
|
-
// Export
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
96
|
+
// Export in the specified format
|
|
97
|
+
let content;
|
|
98
|
+
if (format === 'yaml') {
|
|
99
|
+
content = (0, formatters_1.formatAsYAML)(aliases);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
// JSON format with metadata
|
|
103
|
+
const exportData = {
|
|
104
|
+
exportedAt: new Date().toISOString(),
|
|
105
|
+
version: '1.0',
|
|
106
|
+
aliases: aliases,
|
|
107
|
+
};
|
|
108
|
+
content = JSON.stringify(exportData, null, 2);
|
|
109
|
+
}
|
|
97
110
|
try {
|
|
98
|
-
fs.writeFileSync(resolvedPath,
|
|
111
|
+
fs.writeFileSync(resolvedPath, content, 'utf8');
|
|
99
112
|
console.log(chalk_1.default.green(`✓ ${constants_1.SUCCESS_MESSAGES.exported(names.length, resolvedPath)}`));
|
|
100
113
|
}
|
|
101
114
|
catch (writeError) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"export.js","sourceRoot":"","sources":["../../src/commands/export.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6BA,sCAiEC;AA9FD,uCAAyB;AACzB,2CAA6B;AAC7B,kDAA0B;AAC1B,wCAAyC;AACzC,4CAAuE;AACvE,kDAAqF;AACrF,oDAAmD;AAEnD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,SAAgB,aAAa,CAAC,QAAgB,EAAE,SAA0B,MAAM;IAC9E,IAAI,CAAC;QACH,qBAAqB;QACrB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,IAAA,sBAAa,EAAC,2BAA2B,EAAE,iBAAQ,CAAC,YAAY,CAAC,CAAC;QACpE,CAAC;QAED,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,yBAAa,CAAC,UAAU,CAAC,CAAC,CAAC;YACpD,OAAO;QACT,CAAC;QAED,wBAAwB;QACxB,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAE5C,6CAA6C;QAC7C,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CACT,eAAK,CAAC,MAAM,CAAC,yDAAyD,YAAY,EAAE,CAAC,CACtF,CAAC;QACJ,CAAC;QAED,0BAA0B;QAC1B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC;YAAC,OAAO,UAAU,EAAE,CAAC;gBACpB,IAAA,sBAAa,EACX,+BAAgC,UAAoB,CAAC,OAAO,EAAE,EAC9D,iBAAQ,CAAC,gBAAgB,CAC1B,CAAC;YACJ,CAAC;QACH,CAAC;QAED,iCAAiC;QACjC,IAAI,OAAe,CAAC;QAEpB,IAAI,MAAM,KAAK,MAAM,EAAE,CAAC;YACtB,OAAO,GAAG,IAAA,yBAAY,EAAC,OAAO,CAAC,CAAC;QAClC,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,MAAM,UAAU,GAAG;gBACjB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACpC,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,OAAO;aACjB,CAAC;YACF,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,KAAK,4BAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,CAAC,CAAC,CAAC;QACzF,CAAC;QAAC,OAAO,UAAU,EAAE,CAAC;YACpB,IAAA,sBAAa,EACX,GAAG,0BAAc,CAAC,aAAa,KAAM,UAAoB,CAAC,OAAO,EAAE,EACnE,iBAAQ,CAAC,gBAAgB,CAC1B,CAAC;QACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,oBAAW,EAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC;IAClD,CAAC;AACH,CAAC"}
|
package/dist/commands/list.d.ts
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
import { OutputFormat } from '../utils/formatters';
|
|
1
2
|
/**
|
|
2
3
|
* List all saved commands with their details
|
|
3
4
|
*
|
|
4
5
|
* Displays commands alphabetically with their command text and working directory.
|
|
5
6
|
* If no commands are saved, provides guidance on how to save commands.
|
|
6
7
|
*
|
|
8
|
+
* @param format - Output format: 'table' (default), 'json', 'yaml', or 'compact'
|
|
9
|
+
*
|
|
7
10
|
* @example
|
|
8
11
|
* ```
|
|
9
12
|
* // Output:
|
|
@@ -18,5 +21,5 @@
|
|
|
18
21
|
* // Directory: /home/user/scripts
|
|
19
22
|
* ```
|
|
20
23
|
*/
|
|
21
|
-
export declare function listCommand(): void;
|
|
24
|
+
export declare function listCommand(format?: OutputFormat): void;
|
|
22
25
|
//# sourceMappingURL=list.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAIA,OAAO,EAAiB,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAElE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,WAAW,CAAC,MAAM,GAAE,YAAsB,GAAG,IAAI,CAsBhE"}
|