aliasmate 1.0.0 → 1.3.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 +159 -0
- package/README.md +188 -3
- package/dist/cli.js +66 -15
- package/dist/cli.js.map +1 -1
- package/dist/commands/delete.d.ts +12 -0
- package/dist/commands/delete.d.ts.map +1 -1
- package/dist/commands/delete.js +29 -8
- package/dist/commands/delete.js.map +1 -1
- package/dist/commands/edit.d.ts +13 -0
- package/dist/commands/edit.d.ts.map +1 -1
- package/dist/commands/edit.js +72 -26
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/export.d.ts +17 -0
- package/dist/commands/export.d.ts.map +1 -1
- package/dist/commands/export.js +42 -7
- package/dist/commands/export.js.map +1 -1
- package/dist/commands/import.d.ts +21 -0
- package/dist/commands/import.d.ts.map +1 -1
- package/dist/commands/import.js +93 -48
- package/dist/commands/import.js.map +1 -1
- package/dist/commands/list.d.ts +20 -0
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +83 -6
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/prev.d.ts +14 -1
- package/dist/commands/prev.d.ts.map +1 -1
- package/dist/commands/prev.js +43 -14
- package/dist/commands/prev.js.map +1 -1
- package/dist/commands/run.d.ts +16 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +52 -11
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/save.d.ts +15 -1
- package/dist/commands/save.d.ts.map +1 -1
- package/dist/commands/save.js +82 -35
- package/dist/commands/save.js.map +1 -1
- package/dist/commands/search.d.ts +19 -0
- package/dist/commands/search.d.ts.map +1 -0
- package/dist/commands/search.js +113 -0
- package/dist/commands/search.js.map +1 -0
- package/dist/storage/index.d.ts +44 -8
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +58 -12
- package/dist/storage/index.js.map +1 -1
- package/dist/utils/constants.d.ts +48 -0
- package/dist/utils/constants.d.ts.map +1 -0
- package/dist/utils/constants.js +51 -0
- package/dist/utils/constants.js.map +1 -0
- package/dist/utils/errors.d.ts +30 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +62 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/executor.d.ts +22 -1
- package/dist/utils/executor.d.ts.map +1 -1
- package/dist/utils/executor.js +36 -11
- package/dist/utils/executor.js.map +1 -1
- package/dist/utils/history.d.ts +21 -3
- package/dist/utils/history.d.ts.map +1 -1
- package/dist/utils/history.js +28 -14
- package/dist/utils/history.js.map +1 -1
- package/dist/utils/llm-generator.d.ts +21 -0
- package/dist/utils/llm-generator.d.ts.map +1 -0
- package/dist/utils/llm-generator.js +337 -0
- package/dist/utils/llm-generator.js.map +1 -0
- package/dist/utils/onboarding.d.ts +10 -0
- package/dist/utils/onboarding.d.ts.map +1 -0
- package/dist/utils/onboarding.js +201 -0
- package/dist/utils/onboarding.js.map +1 -0
- package/dist/utils/paths.d.ts +39 -1
- package/dist/utils/paths.d.ts.map +1 -1
- package/dist/utils/paths.js +56 -1
- package/dist/utils/paths.js.map +1 -1
- package/dist/utils/prompts.d.ts +56 -0
- package/dist/utils/prompts.d.ts.map +1 -0
- package/dist/utils/prompts.js +51 -0
- package/dist/utils/prompts.js.map +1 -0
- package/package.json +22 -6
package/dist/commands/edit.d.ts
CHANGED
|
@@ -1,2 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Edit an existing command interactively
|
|
3
|
+
*
|
|
4
|
+
* @param name - The name of the command to edit
|
|
5
|
+
*
|
|
6
|
+
* @example
|
|
7
|
+
* ```
|
|
8
|
+
* // User is prompted to update:
|
|
9
|
+
* // - Command (pre-filled with current value)
|
|
10
|
+
* // - Working directory (pre-filled with current value)
|
|
11
|
+
* await editCommand('build-prod');
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
1
14
|
export declare function editCommand(name: string): Promise<void>;
|
|
2
15
|
//# 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":"AAMA;;;;;;;;;;;;GAYG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAiG7D"}
|
package/dist/commands/edit.js
CHANGED
|
@@ -4,65 +4,111 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.editCommand = editCommand;
|
|
7
|
-
const inquirer_1 = __importDefault(require("inquirer"));
|
|
8
7
|
const chalk_1 = __importDefault(require("chalk"));
|
|
9
8
|
const storage_1 = require("../storage");
|
|
9
|
+
const errors_1 = require("../utils/errors");
|
|
10
|
+
const constants_1 = require("../utils/constants");
|
|
11
|
+
const prompts_1 = require("../utils/prompts");
|
|
12
|
+
/**
|
|
13
|
+
* Edit an existing command interactively
|
|
14
|
+
*
|
|
15
|
+
* @param name - The name of the command to edit
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```
|
|
19
|
+
* // User is prompted to update:
|
|
20
|
+
* // - Command (pre-filled with current value)
|
|
21
|
+
* // - Working directory (pre-filled with current value)
|
|
22
|
+
* await editCommand('build-prod');
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
10
25
|
async function editCommand(name) {
|
|
11
26
|
try {
|
|
12
27
|
// Get the existing alias
|
|
13
28
|
const alias = (0, storage_1.getAlias)(name);
|
|
14
29
|
if (!alias) {
|
|
15
|
-
console.error(chalk_1.default.red(`Error:
|
|
16
|
-
console.log(chalk_1.default.yellow(
|
|
17
|
-
process.exit(
|
|
30
|
+
console.error(chalk_1.default.red(`Error: ${constants_1.ERROR_MESSAGES.commandNotFound(name)}`));
|
|
31
|
+
console.log(chalk_1.default.yellow(constants_1.HELP_MESSAGES.useList));
|
|
32
|
+
process.exit(errors_1.ExitCode.InvalidInput);
|
|
18
33
|
}
|
|
19
34
|
console.log(chalk_1.default.blue(`Editing command: ${name}\n`));
|
|
20
|
-
// Prompt for new values
|
|
21
|
-
const
|
|
35
|
+
// Prompt for new values including path mode
|
|
36
|
+
const prompts = [
|
|
22
37
|
{
|
|
23
38
|
type: 'input',
|
|
24
39
|
name: 'command',
|
|
25
40
|
message: 'Command:',
|
|
26
41
|
default: alias.command,
|
|
27
42
|
validate: (input) => {
|
|
28
|
-
|
|
29
|
-
|
|
43
|
+
const trimmed = input.trim();
|
|
44
|
+
if (!trimmed) {
|
|
45
|
+
return constants_1.HELP_MESSAGES.emptyValue('Command');
|
|
30
46
|
}
|
|
31
47
|
return true;
|
|
32
|
-
}
|
|
48
|
+
},
|
|
33
49
|
},
|
|
34
50
|
{
|
|
35
51
|
type: 'input',
|
|
36
52
|
name: 'directory',
|
|
37
53
|
message: 'Working directory:',
|
|
38
|
-
default: alias.directory
|
|
39
|
-
|
|
40
|
-
|
|
54
|
+
default: alias.directory,
|
|
55
|
+
validate: (input) => {
|
|
56
|
+
const trimmed = input.trim();
|
|
57
|
+
if (!trimmed) {
|
|
58
|
+
return constants_1.HELP_MESSAGES.emptyValue('Directory');
|
|
59
|
+
}
|
|
60
|
+
return true;
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
type: 'list',
|
|
65
|
+
name: 'pathMode',
|
|
66
|
+
message: 'Path mode:',
|
|
67
|
+
choices: [
|
|
68
|
+
{
|
|
69
|
+
name: 'Saved Directory (always run in the directory above)',
|
|
70
|
+
value: 'saved',
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
name: 'Current Directory (run in your current working directory)',
|
|
74
|
+
value: 'current',
|
|
75
|
+
},
|
|
76
|
+
],
|
|
77
|
+
},
|
|
78
|
+
];
|
|
79
|
+
const answers = await (0, prompts_1.promptMultiple)(prompts);
|
|
41
80
|
// Check if anything changed
|
|
42
|
-
|
|
81
|
+
const currentPathMode = alias.pathMode || 'saved'; // Default to 'saved' for backward compatibility
|
|
82
|
+
if (answers.command === alias.command &&
|
|
83
|
+
answers.directory === alias.directory &&
|
|
84
|
+
answers.pathMode === currentPathMode) {
|
|
43
85
|
console.log(chalk_1.default.yellow('No changes made'));
|
|
44
86
|
return;
|
|
45
87
|
}
|
|
46
|
-
// Update the alias
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
88
|
+
// Update the alias with path mode
|
|
89
|
+
try {
|
|
90
|
+
const success = (0, storage_1.setAlias)(name, answers.command, answers.directory, answers.pathMode);
|
|
91
|
+
if (success) {
|
|
92
|
+
console.log(chalk_1.default.green(`✓ ${constants_1.SUCCESS_MESSAGES.updated(name)}`));
|
|
93
|
+
console.log(chalk_1.default.gray(` Command: ${answers.command}`));
|
|
94
|
+
console.log(chalk_1.default.gray(` Directory: ${answers.directory}`));
|
|
95
|
+
console.log(chalk_1.default.gray(` Path Mode: ${answers.pathMode}`));
|
|
96
|
+
}
|
|
97
|
+
else {
|
|
98
|
+
(0, errors_1.exitWithError)(constants_1.ERROR_MESSAGES.couldNotUpdate);
|
|
99
|
+
}
|
|
52
100
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
process.exit(1);
|
|
101
|
+
catch (error) {
|
|
102
|
+
(0, errors_1.exitWithError)(`${constants_1.ERROR_MESSAGES.couldNotUpdate}: ${error.message}`);
|
|
56
103
|
}
|
|
57
104
|
}
|
|
58
105
|
catch (error) {
|
|
59
|
-
if (
|
|
60
|
-
|
|
106
|
+
if ((0, errors_1.isInquirerTTYError)(error)) {
|
|
107
|
+
(0, errors_1.exitWithError)(constants_1.ERROR_MESSAGES.interactiveNotSupported, errors_1.ExitCode.GeneralError);
|
|
61
108
|
}
|
|
62
109
|
else {
|
|
63
|
-
|
|
110
|
+
(0, errors_1.handleError)(error, 'Failed to edit command');
|
|
64
111
|
}
|
|
65
|
-
process.exit(1);
|
|
66
112
|
}
|
|
67
113
|
}
|
|
68
114
|
//# sourceMappingURL=edit.js.map
|
|
@@ -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":"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"}
|
|
@@ -1,2 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Export all saved commands to a JSON file
|
|
3
|
+
*
|
|
4
|
+
* Creates a portable backup of all commands with metadata, suitable for:
|
|
5
|
+
* - Sharing with team members
|
|
6
|
+
* - Backing up your command library
|
|
7
|
+
* - Migrating between machines
|
|
8
|
+
*
|
|
9
|
+
* @param filePath - The path where the export file should be created
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```
|
|
13
|
+
* // Export to a file
|
|
14
|
+
* exportCommand('./my-commands.json');
|
|
15
|
+
* // Output: ✓ Exported 15 command(s) to /path/to/my-commands.json
|
|
16
|
+
* ```
|
|
17
|
+
*/
|
|
1
18
|
export declare function exportCommand(filePath: string): void;
|
|
2
19
|
//# 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":"AAOA;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAyDpD"}
|
package/dist/commands/export.js
CHANGED
|
@@ -41,34 +41,69 @@ const fs = __importStar(require("fs"));
|
|
|
41
41
|
const path = __importStar(require("path"));
|
|
42
42
|
const chalk_1 = __importDefault(require("chalk"));
|
|
43
43
|
const storage_1 = require("../storage");
|
|
44
|
+
const errors_1 = require("../utils/errors");
|
|
45
|
+
const constants_1 = require("../utils/constants");
|
|
46
|
+
/**
|
|
47
|
+
* Export all saved commands to a JSON file
|
|
48
|
+
*
|
|
49
|
+
* Creates a portable backup of all commands with metadata, suitable for:
|
|
50
|
+
* - Sharing with team members
|
|
51
|
+
* - Backing up your command library
|
|
52
|
+
* - Migrating between machines
|
|
53
|
+
*
|
|
54
|
+
* @param filePath - The path where the export file should be created
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* ```
|
|
58
|
+
* // Export to a file
|
|
59
|
+
* exportCommand('./my-commands.json');
|
|
60
|
+
* // Output: ✓ Exported 15 command(s) to /path/to/my-commands.json
|
|
61
|
+
* ```
|
|
62
|
+
*/
|
|
44
63
|
function exportCommand(filePath) {
|
|
45
64
|
try {
|
|
65
|
+
// Validate file path
|
|
66
|
+
if (!filePath || !filePath.trim()) {
|
|
67
|
+
(0, errors_1.exitWithError)('File path cannot be empty', errors_1.ExitCode.InvalidInput);
|
|
68
|
+
}
|
|
46
69
|
const aliases = (0, storage_1.loadAliases)();
|
|
47
70
|
const names = Object.keys(aliases);
|
|
48
71
|
if (names.length === 0) {
|
|
49
|
-
console.log(chalk_1.default.yellow(
|
|
72
|
+
console.log(chalk_1.default.yellow(constants_1.HELP_MESSAGES.noCommands));
|
|
50
73
|
return;
|
|
51
74
|
}
|
|
52
75
|
// Resolve the file path
|
|
53
76
|
const resolvedPath = path.resolve(filePath);
|
|
77
|
+
// Check if file already exists and warn user
|
|
78
|
+
if (fs.existsSync(resolvedPath)) {
|
|
79
|
+
console.log(chalk_1.default.yellow(`Warning: File already exists and will be overwritten: ${resolvedPath}`));
|
|
80
|
+
}
|
|
81
|
+
// Ensure directory exists
|
|
82
|
+
const dirPath = path.dirname(resolvedPath);
|
|
83
|
+
if (!fs.existsSync(dirPath)) {
|
|
84
|
+
try {
|
|
85
|
+
fs.mkdirSync(dirPath, { recursive: true });
|
|
86
|
+
}
|
|
87
|
+
catch (mkdirError) {
|
|
88
|
+
(0, errors_1.exitWithError)(`Could not create directory: ${mkdirError.message}`, errors_1.ExitCode.PermissionDenied);
|
|
89
|
+
}
|
|
90
|
+
}
|
|
54
91
|
// Export as JSON
|
|
55
92
|
const exportData = {
|
|
56
93
|
exportedAt: new Date().toISOString(),
|
|
57
94
|
version: '1.0',
|
|
58
|
-
aliases: aliases
|
|
95
|
+
aliases: aliases,
|
|
59
96
|
};
|
|
60
97
|
try {
|
|
61
98
|
fs.writeFileSync(resolvedPath, JSON.stringify(exportData, null, 2), 'utf8');
|
|
62
|
-
console.log(chalk_1.default.green(`✓
|
|
99
|
+
console.log(chalk_1.default.green(`✓ ${constants_1.SUCCESS_MESSAGES.exported(names.length, resolvedPath)}`));
|
|
63
100
|
}
|
|
64
101
|
catch (writeError) {
|
|
65
|
-
|
|
66
|
-
process.exit(1);
|
|
102
|
+
(0, errors_1.exitWithError)(`${constants_1.ERROR_MESSAGES.couldNotWrite}: ${writeError.message}`, errors_1.ExitCode.PermissionDenied);
|
|
67
103
|
}
|
|
68
104
|
}
|
|
69
105
|
catch (error) {
|
|
70
|
-
|
|
71
|
-
process.exit(1);
|
|
106
|
+
(0, errors_1.handleError)(error, 'Failed to export commands');
|
|
72
107
|
}
|
|
73
108
|
}
|
|
74
109
|
//# sourceMappingURL=export.js.map
|
|
@@ -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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,sCAyDC;AAjFD,uCAAyB;AACzB,2CAA6B;AAC7B,kDAA0B;AAC1B,wCAAyC;AACzC,4CAAuE;AACvE,kDAAqF;AAErF;;;;;;;;;;;;;;;;GAgBG;AACH,SAAgB,aAAa,CAAC,QAAgB;IAC5C,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,iBAAiB;QACjB,MAAM,UAAU,GAAG;YACjB,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;YACpC,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,OAAO;SACjB,CAAC;QAEF,IAAI,CAAC;YACH,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;YAC5E,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"}
|
|
@@ -1,2 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Import commands from a JSON file
|
|
3
|
+
*
|
|
4
|
+
* Handles conflicts intelligently by prompting the user for each conflict:
|
|
5
|
+
* - Overwrite: Replace existing command with imported one
|
|
6
|
+
* - Skip: Keep existing command, discard imported one
|
|
7
|
+
* - Rename: Save imported command with a different name
|
|
8
|
+
*
|
|
9
|
+
* @param filePath - The path to the JSON file to import from
|
|
10
|
+
*
|
|
11
|
+
* @example
|
|
12
|
+
* ```
|
|
13
|
+
* // Import commands from a file
|
|
14
|
+
* await importCommand('./team-commands.json');
|
|
15
|
+
*
|
|
16
|
+
* // If conflicts are found, user is prompted:
|
|
17
|
+
* // - Overwrite existing
|
|
18
|
+
* // - Skip this command
|
|
19
|
+
* // - Rename imported command
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
1
22
|
export declare function importCommand(filePath: string): Promise<void>;
|
|
2
23
|
//# sourceMappingURL=import.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"AAoBA;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuLnE"}
|
package/dist/commands/import.js
CHANGED
|
@@ -39,17 +39,39 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
39
39
|
exports.importCommand = importCommand;
|
|
40
40
|
const fs = __importStar(require("fs"));
|
|
41
41
|
const path = __importStar(require("path"));
|
|
42
|
-
const inquirer_1 = __importDefault(require("inquirer"));
|
|
43
42
|
const chalk_1 = __importDefault(require("chalk"));
|
|
44
43
|
const storage_1 = require("../storage");
|
|
44
|
+
const errors_1 = require("../utils/errors");
|
|
45
|
+
const constants_1 = require("../utils/constants");
|
|
46
|
+
const prompts_1 = require("../utils/prompts");
|
|
47
|
+
/**
|
|
48
|
+
* Import commands from a JSON file
|
|
49
|
+
*
|
|
50
|
+
* Handles conflicts intelligently by prompting the user for each conflict:
|
|
51
|
+
* - Overwrite: Replace existing command with imported one
|
|
52
|
+
* - Skip: Keep existing command, discard imported one
|
|
53
|
+
* - Rename: Save imported command with a different name
|
|
54
|
+
*
|
|
55
|
+
* @param filePath - The path to the JSON file to import from
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```
|
|
59
|
+
* // Import commands from a file
|
|
60
|
+
* await importCommand('./team-commands.json');
|
|
61
|
+
*
|
|
62
|
+
* // If conflicts are found, user is prompted:
|
|
63
|
+
* // - Overwrite existing
|
|
64
|
+
* // - Skip this command
|
|
65
|
+
* // - Rename imported command
|
|
66
|
+
* ```
|
|
67
|
+
*/
|
|
45
68
|
async function importCommand(filePath) {
|
|
46
69
|
try {
|
|
47
70
|
// Resolve the file path
|
|
48
71
|
const resolvedPath = path.resolve(filePath);
|
|
49
72
|
// Check if file exists
|
|
50
73
|
if (!fs.existsSync(resolvedPath)) {
|
|
51
|
-
|
|
52
|
-
process.exit(1);
|
|
74
|
+
(0, errors_1.exitWithError)(constants_1.ERROR_MESSAGES.fileNotFound(resolvedPath), errors_1.ExitCode.FileNotFound);
|
|
53
75
|
}
|
|
54
76
|
// Read and parse the file
|
|
55
77
|
let importData;
|
|
@@ -58,24 +80,46 @@ async function importCommand(filePath) {
|
|
|
58
80
|
importData = JSON.parse(fileContent);
|
|
59
81
|
}
|
|
60
82
|
catch (parseError) {
|
|
61
|
-
console.error(chalk_1.default.red(
|
|
83
|
+
console.error(chalk_1.default.red(`Error: ${constants_1.ERROR_MESSAGES.invalidJson}`));
|
|
62
84
|
console.error(parseError.message);
|
|
63
|
-
process.exit(
|
|
85
|
+
process.exit(errors_1.ExitCode.InvalidInput);
|
|
64
86
|
}
|
|
65
87
|
// Validate the import data structure
|
|
66
88
|
if (!importData.aliases || typeof importData.aliases !== 'object') {
|
|
67
|
-
|
|
68
|
-
process.exit(1);
|
|
89
|
+
(0, errors_1.exitWithError)(constants_1.ERROR_MESSAGES.invalidFormat, errors_1.ExitCode.InvalidInput);
|
|
69
90
|
}
|
|
70
91
|
const importAliases = importData.aliases;
|
|
71
92
|
const importNames = Object.keys(importAliases);
|
|
93
|
+
// Validate each alias structure
|
|
94
|
+
for (const name of importNames) {
|
|
95
|
+
const alias = importAliases[name];
|
|
96
|
+
if (!alias ||
|
|
97
|
+
typeof alias !== 'object' ||
|
|
98
|
+
typeof alias.command !== 'string' ||
|
|
99
|
+
typeof alias.directory !== 'string' ||
|
|
100
|
+
!alias.command.trim() ||
|
|
101
|
+
!alias.directory.trim()) {
|
|
102
|
+
(0, errors_1.exitWithError)(constants_1.ERROR_MESSAGES.invalidAliasStructure(name), errors_1.ExitCode.InvalidInput);
|
|
103
|
+
}
|
|
104
|
+
}
|
|
72
105
|
if (importNames.length === 0) {
|
|
73
|
-
console.log(chalk_1.default.yellow(
|
|
106
|
+
console.log(chalk_1.default.yellow(constants_1.HELP_MESSAGES.noCommands));
|
|
74
107
|
return;
|
|
75
108
|
}
|
|
76
109
|
console.log(chalk_1.default.blue(`Found ${importNames.length} command(s) to import\n`));
|
|
77
|
-
//
|
|
110
|
+
// Create backup of existing config before importing
|
|
78
111
|
const existingAliases = (0, storage_1.loadAliases)();
|
|
112
|
+
if (Object.keys(existingAliases).length > 0) {
|
|
113
|
+
const configPath = (0, storage_1.getConfigPath)();
|
|
114
|
+
const backupPath = `${configPath}.backup.${Date.now()}`;
|
|
115
|
+
try {
|
|
116
|
+
fs.copyFileSync(configPath, backupPath);
|
|
117
|
+
console.log(chalk_1.default.gray(`Backup created: ${backupPath}\n`));
|
|
118
|
+
}
|
|
119
|
+
catch (backupError) {
|
|
120
|
+
console.warn(chalk_1.default.yellow(`Warning: Could not create backup: ${backupError.message}`));
|
|
121
|
+
}
|
|
122
|
+
}
|
|
79
123
|
const conflicts = [];
|
|
80
124
|
const newAliases = [];
|
|
81
125
|
// Check for conflicts
|
|
@@ -96,40 +140,43 @@ async function importCommand(filePath) {
|
|
|
96
140
|
console.log(chalk_1.default.gray(` ${existingAliases[name].command}`));
|
|
97
141
|
console.log(chalk_1.default.gray(`Importing: ${name}`));
|
|
98
142
|
console.log(chalk_1.default.gray(` ${importAliases[name].command}\n`));
|
|
99
|
-
const
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
]);
|
|
143
|
+
const actionPrompt = {
|
|
144
|
+
type: 'list',
|
|
145
|
+
name: 'action',
|
|
146
|
+
message: `What should we do with "${name}"?`,
|
|
147
|
+
choices: [
|
|
148
|
+
{ name: 'Overwrite existing', value: 'overwrite' },
|
|
149
|
+
{ name: 'Skip this command', value: 'skip' },
|
|
150
|
+
{ name: 'Rename imported command', value: 'rename' },
|
|
151
|
+
],
|
|
152
|
+
};
|
|
153
|
+
const action = await (0, prompts_1.promptList)(actionPrompt);
|
|
111
154
|
if (action === 'rename') {
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
155
|
+
const renamePrompt = {
|
|
156
|
+
type: 'input',
|
|
157
|
+
name: 'newName',
|
|
158
|
+
message: 'Enter new name:',
|
|
159
|
+
default: `${name}_imported`,
|
|
160
|
+
validate: (input) => {
|
|
161
|
+
const trimmed = input.trim();
|
|
162
|
+
if (!trimmed) {
|
|
163
|
+
return constants_1.HELP_MESSAGES.emptyValue('Name');
|
|
164
|
+
}
|
|
165
|
+
if (trimmed.includes(' ')) {
|
|
166
|
+
return constants_1.HELP_MESSAGES.invalidName;
|
|
167
|
+
}
|
|
168
|
+
// Check for invalid characters
|
|
169
|
+
if (!/^[a-zA-Z0-9_-]+$/.test(trimmed)) {
|
|
170
|
+
return 'Name can only contain letters, numbers, hyphens, and underscores';
|
|
171
|
+
}
|
|
172
|
+
if ((0, storage_1.aliasExists)(trimmed) || resolutions[trimmed]) {
|
|
173
|
+
return `Name "${trimmed}" is already taken`;
|
|
129
174
|
}
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
175
|
+
return true;
|
|
176
|
+
},
|
|
177
|
+
};
|
|
178
|
+
const newName = await (0, prompts_1.promptText)(renamePrompt);
|
|
179
|
+
resolutions[name] = { action: 'rename', newName: newName.trim() };
|
|
133
180
|
}
|
|
134
181
|
else {
|
|
135
182
|
resolutions[name] = { action };
|
|
@@ -166,25 +213,23 @@ async function importCommand(filePath) {
|
|
|
166
213
|
// Save the updated aliases
|
|
167
214
|
const success = (0, storage_1.saveAliases)(updatedAliases);
|
|
168
215
|
if (success) {
|
|
169
|
-
console.log(chalk_1.default.green(`✓
|
|
216
|
+
console.log(chalk_1.default.green(`✓ ${constants_1.SUCCESS_MESSAGES.importComplete}:`));
|
|
170
217
|
console.log(chalk_1.default.gray(` Imported: ${importedCount} command(s)`));
|
|
171
218
|
if (skippedCount > 0) {
|
|
172
219
|
console.log(chalk_1.default.gray(` Skipped: ${skippedCount} command(s)`));
|
|
173
220
|
}
|
|
174
221
|
}
|
|
175
222
|
else {
|
|
176
|
-
|
|
177
|
-
process.exit(1);
|
|
223
|
+
(0, errors_1.exitWithError)('Could not save imported commands');
|
|
178
224
|
}
|
|
179
225
|
}
|
|
180
226
|
catch (error) {
|
|
181
|
-
if (
|
|
182
|
-
|
|
227
|
+
if ((0, errors_1.isInquirerTTYError)(error)) {
|
|
228
|
+
(0, errors_1.exitWithError)(constants_1.ERROR_MESSAGES.interactiveNotSupported, errors_1.ExitCode.GeneralError);
|
|
183
229
|
}
|
|
184
230
|
else {
|
|
185
|
-
|
|
231
|
+
(0, errors_1.handleError)(error, 'Failed to import commands');
|
|
186
232
|
}
|
|
187
|
-
process.exit(1);
|
|
188
233
|
}
|
|
189
234
|
}
|
|
190
235
|
//# sourceMappingURL=import.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/list.d.ts
CHANGED
|
@@ -1,2 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* List all saved commands with their details
|
|
3
|
+
*
|
|
4
|
+
* Displays commands alphabetically with their command text and working directory.
|
|
5
|
+
* If no commands are saved, provides guidance on how to save commands.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```
|
|
9
|
+
* // Output:
|
|
10
|
+
* // Saved commands (3):
|
|
11
|
+
* //
|
|
12
|
+
* // build-prod
|
|
13
|
+
* // Command: npm run build --production
|
|
14
|
+
* // Directory: /home/user/project
|
|
15
|
+
* //
|
|
16
|
+
* // deploy
|
|
17
|
+
* // Command: ./deploy.sh
|
|
18
|
+
* // Directory: /home/user/scripts
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
1
21
|
export declare function listCommand(): void;
|
|
2
22
|
//# 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":"AAMA;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAkDlC"}
|