aliasmate 1.0.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.
Files changed (56) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/LICENSE +21 -0
  3. package/README.md +293 -0
  4. package/dist/cli.d.ts +3 -0
  5. package/dist/cli.d.ts.map +1 -0
  6. package/dist/cli.js +101 -0
  7. package/dist/cli.js.map +1 -0
  8. package/dist/commands/delete.d.ts +2 -0
  9. package/dist/commands/delete.d.ts.map +1 -0
  10. package/dist/commands/delete.js +33 -0
  11. package/dist/commands/delete.js.map +1 -0
  12. package/dist/commands/edit.d.ts +2 -0
  13. package/dist/commands/edit.d.ts.map +1 -0
  14. package/dist/commands/edit.js +68 -0
  15. package/dist/commands/edit.js.map +1 -0
  16. package/dist/commands/export.d.ts +2 -0
  17. package/dist/commands/export.d.ts.map +1 -0
  18. package/dist/commands/export.js +74 -0
  19. package/dist/commands/export.js.map +1 -0
  20. package/dist/commands/import.d.ts +2 -0
  21. package/dist/commands/import.d.ts.map +1 -0
  22. package/dist/commands/import.js +190 -0
  23. package/dist/commands/import.js.map +1 -0
  24. package/dist/commands/list.d.ts +2 -0
  25. package/dist/commands/list.d.ts.map +1 -0
  26. package/dist/commands/list.js +34 -0
  27. package/dist/commands/list.js.map +1 -0
  28. package/dist/commands/prev.d.ts +2 -0
  29. package/dist/commands/prev.d.ts.map +1 -0
  30. package/dist/commands/prev.js +40 -0
  31. package/dist/commands/prev.js.map +1 -0
  32. package/dist/commands/run.d.ts +2 -0
  33. package/dist/commands/run.d.ts.map +1 -0
  34. package/dist/commands/run.js +43 -0
  35. package/dist/commands/run.js.map +1 -0
  36. package/dist/commands/save.d.ts +2 -0
  37. package/dist/commands/save.d.ts.map +1 -0
  38. package/dist/commands/save.js +83 -0
  39. package/dist/commands/save.js.map +1 -0
  40. package/dist/storage/index.d.ts +42 -0
  41. package/dist/storage/index.d.ts.map +1 -0
  42. package/dist/storage/index.js +134 -0
  43. package/dist/storage/index.js.map +1 -0
  44. package/dist/utils/executor.d.ts +11 -0
  45. package/dist/utils/executor.d.ts.map +1 -0
  46. package/dist/utils/executor.js +76 -0
  47. package/dist/utils/executor.js.map +1 -0
  48. package/dist/utils/history.d.ts +19 -0
  49. package/dist/utils/history.d.ts.map +1 -0
  50. package/dist/utils/history.js +161 -0
  51. package/dist/utils/history.js.map +1 -0
  52. package/dist/utils/paths.d.ts +6 -0
  53. package/dist/utils/paths.d.ts.map +1 -0
  54. package/dist/utils/paths.js +60 -0
  55. package/dist/utils/paths.js.map +1 -0
  56. package/package.json +57 -0
@@ -0,0 +1,2 @@
1
+ export declare function importCommand(filePath: string): Promise<void>;
2
+ //# sourceMappingURL=import.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.d.ts","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"AAYA,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2JnE"}
@@ -0,0 +1,190 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.importCommand = importCommand;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ const inquirer_1 = __importDefault(require("inquirer"));
43
+ const chalk_1 = __importDefault(require("chalk"));
44
+ const storage_1 = require("../storage");
45
+ async function importCommand(filePath) {
46
+ try {
47
+ // Resolve the file path
48
+ const resolvedPath = path.resolve(filePath);
49
+ // Check if file exists
50
+ if (!fs.existsSync(resolvedPath)) {
51
+ console.error(chalk_1.default.red(`Error: File not found: ${resolvedPath}`));
52
+ process.exit(1);
53
+ }
54
+ // Read and parse the file
55
+ let importData;
56
+ try {
57
+ const fileContent = fs.readFileSync(resolvedPath, 'utf8');
58
+ importData = JSON.parse(fileContent);
59
+ }
60
+ catch (parseError) {
61
+ console.error(chalk_1.default.red('Error: Could not parse file. Make sure it is valid JSON.'));
62
+ console.error(parseError.message);
63
+ process.exit(1);
64
+ }
65
+ // Validate the import data structure
66
+ if (!importData.aliases || typeof importData.aliases !== 'object') {
67
+ console.error(chalk_1.default.red('Error: Invalid file format. Expected an "aliases" object.'));
68
+ process.exit(1);
69
+ }
70
+ const importAliases = importData.aliases;
71
+ const importNames = Object.keys(importAliases);
72
+ if (importNames.length === 0) {
73
+ console.log(chalk_1.default.yellow('No commands found in file.'));
74
+ return;
75
+ }
76
+ console.log(chalk_1.default.blue(`Found ${importNames.length} command(s) to import\n`));
77
+ // Load existing aliases
78
+ const existingAliases = (0, storage_1.loadAliases)();
79
+ const conflicts = [];
80
+ const newAliases = [];
81
+ // Check for conflicts
82
+ for (const name of importNames) {
83
+ if ((0, storage_1.aliasExists)(name)) {
84
+ conflicts.push(name);
85
+ }
86
+ else {
87
+ newAliases.push(name);
88
+ }
89
+ }
90
+ // Handle conflicts
91
+ const resolutions = {};
92
+ if (conflicts.length > 0) {
93
+ console.log(chalk_1.default.yellow(`Warning: ${conflicts.length} name conflict(s) found:\n`));
94
+ for (const name of conflicts) {
95
+ console.log(chalk_1.default.gray(`Existing: ${name}`));
96
+ console.log(chalk_1.default.gray(` ${existingAliases[name].command}`));
97
+ console.log(chalk_1.default.gray(`Importing: ${name}`));
98
+ console.log(chalk_1.default.gray(` ${importAliases[name].command}\n`));
99
+ const { action } = await inquirer_1.default.prompt([
100
+ {
101
+ type: 'list',
102
+ name: 'action',
103
+ message: `What should we do with "${name}"?`,
104
+ choices: [
105
+ { name: 'Overwrite existing', value: 'overwrite' },
106
+ { name: 'Skip this command', value: 'skip' },
107
+ { name: 'Rename imported command', value: 'rename' }
108
+ ]
109
+ }
110
+ ]);
111
+ if (action === 'rename') {
112
+ const { newName } = await inquirer_1.default.prompt([
113
+ {
114
+ type: 'input',
115
+ name: 'newName',
116
+ message: 'Enter new name:',
117
+ default: `${name}_imported`,
118
+ validate: (input) => {
119
+ if (!input.trim()) {
120
+ return 'Name cannot be empty';
121
+ }
122
+ if (input.includes(' ')) {
123
+ return 'Name cannot contain spaces';
124
+ }
125
+ if ((0, storage_1.aliasExists)(input) || resolutions[input]) {
126
+ return `Name "${input}" is already taken`;
127
+ }
128
+ return true;
129
+ }
130
+ }
131
+ ]);
132
+ resolutions[name] = { action: 'rename', newName };
133
+ }
134
+ else {
135
+ resolutions[name] = { action };
136
+ }
137
+ console.log();
138
+ }
139
+ }
140
+ // Apply imports
141
+ const updatedAliases = { ...existingAliases };
142
+ let importedCount = 0;
143
+ let skippedCount = 0;
144
+ for (const name of importNames) {
145
+ const importAlias = importAliases[name];
146
+ if (conflicts.includes(name)) {
147
+ const resolution = resolutions[name];
148
+ if (resolution.action === 'skip') {
149
+ skippedCount++;
150
+ continue;
151
+ }
152
+ else if (resolution.action === 'overwrite') {
153
+ updatedAliases[name] = importAlias;
154
+ importedCount++;
155
+ }
156
+ else if (resolution.action === 'rename' && resolution.newName) {
157
+ updatedAliases[resolution.newName] = importAlias;
158
+ importedCount++;
159
+ }
160
+ }
161
+ else {
162
+ updatedAliases[name] = importAlias;
163
+ importedCount++;
164
+ }
165
+ }
166
+ // Save the updated aliases
167
+ const success = (0, storage_1.saveAliases)(updatedAliases);
168
+ if (success) {
169
+ console.log(chalk_1.default.green(`✓ Import complete:`));
170
+ console.log(chalk_1.default.gray(` Imported: ${importedCount} command(s)`));
171
+ if (skippedCount > 0) {
172
+ console.log(chalk_1.default.gray(` Skipped: ${skippedCount} command(s)`));
173
+ }
174
+ }
175
+ else {
176
+ console.error(chalk_1.default.red('Error: Could not save imported commands'));
177
+ process.exit(1);
178
+ }
179
+ }
180
+ catch (error) {
181
+ if (error.isTtyError) {
182
+ console.error(chalk_1.default.red('Error: Interactive prompt not supported in this environment'));
183
+ }
184
+ else {
185
+ console.error(chalk_1.default.red('Error:'), error.message);
186
+ }
187
+ process.exit(1);
188
+ }
189
+ }
190
+ //# sourceMappingURL=import.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import.js","sourceRoot":"","sources":["../../src/commands/import.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function listCommand(): void;
2
+ //# sourceMappingURL=list.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":"AAGA,wBAAgB,WAAW,IAAI,IAAI,CA2BlC"}
@@ -0,0 +1,34 @@
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.listCommand = listCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const storage_1 = require("../storage");
9
+ function listCommand() {
10
+ try {
11
+ const aliases = (0, storage_1.loadAliases)();
12
+ const names = Object.keys(aliases);
13
+ if (names.length === 0) {
14
+ console.log(chalk_1.default.yellow('No saved commands found.'));
15
+ console.log(chalk_1.default.gray('Use "aliasmate save" or "aliasmate prev <name>" to save a command'));
16
+ return;
17
+ }
18
+ console.log(chalk_1.default.bold(`\nSaved commands (${names.length}):\n`));
19
+ // Sort alphabetically
20
+ names.sort();
21
+ for (const name of names) {
22
+ const alias = aliases[name];
23
+ console.log(chalk_1.default.cyan(` ${name}`));
24
+ console.log(chalk_1.default.gray(` Command: ${alias.command}`));
25
+ console.log(chalk_1.default.gray(` Directory: ${alias.directory}`));
26
+ console.log();
27
+ }
28
+ }
29
+ catch (error) {
30
+ console.error(chalk_1.default.red('Error:'), error.message);
31
+ process.exit(1);
32
+ }
33
+ }
34
+ //# sourceMappingURL=list.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../src/commands/list.ts"],"names":[],"mappings":";;;;;AAGA,kCA2BC;AA9BD,kDAA0B;AAC1B,wCAAyC;AAEzC,SAAgB,WAAW;IACzB,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,0BAA0B,CAAC,CAAC,CAAC;YACtD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mEAAmE,CAAC,CAAC,CAAC;YAC7F,OAAO;QACT,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,KAAK,CAAC,MAAM,MAAM,CAAC,CAAC,CAAC;QAEjE,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,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function prevCommand(name: string, _options: any, cwd?: string): Promise<void>;
2
+ //# sourceMappingURL=prev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prev.d.ts","sourceRoot":"","sources":["../../src/commands/prev.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BzG"}
@@ -0,0 +1,40 @@
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.prevCommand = prevCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const history_1 = require("../utils/history");
9
+ const storage_1 = require("../storage");
10
+ async function prevCommand(name, _options, cwd = process.cwd()) {
11
+ try {
12
+ // Get the last command from history
13
+ const lastCommand = (0, history_1.getLastCommand)();
14
+ if (!lastCommand) {
15
+ console.error(chalk_1.default.red('Error: Could not retrieve previous command from history.'));
16
+ console.log(chalk_1.default.yellow('\nTroubleshooting:'));
17
+ console.log(chalk_1.default.gray('1. Make sure your shell history is enabled'));
18
+ console.log(chalk_1.default.gray('2. For real-time history capture, configure your shell:'));
19
+ console.log(chalk_1.default.gray(` ${(0, history_1.getHistoryConfigInstructions)()}`));
20
+ console.log(chalk_1.default.gray('3. Or use "aliasmate save" to manually enter the command'));
21
+ process.exit(1);
22
+ }
23
+ // Save the command with the current directory
24
+ const success = (0, storage_1.setAlias)(name, lastCommand, cwd);
25
+ if (success) {
26
+ console.log(chalk_1.default.green(`✓ Saved command as "${name}"`));
27
+ console.log(chalk_1.default.gray(` Command: ${lastCommand}`));
28
+ console.log(chalk_1.default.gray(` Directory: ${cwd}`));
29
+ }
30
+ else {
31
+ console.error(chalk_1.default.red('Error: Could not save command'));
32
+ process.exit(1);
33
+ }
34
+ }
35
+ catch (error) {
36
+ console.error(chalk_1.default.red('Error:'), error.message);
37
+ process.exit(1);
38
+ }
39
+ }
40
+ //# sourceMappingURL=prev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prev.js","sourceRoot":"","sources":["../../src/commands/prev.ts"],"names":[],"mappings":";;;;;AAIA,kCA8BC;AAlCD,kDAA0B;AAC1B,8CAAgF;AAChF,wCAAsC;AAE/B,KAAK,UAAU,WAAW,CAAC,IAAY,EAAE,QAAa,EAAE,MAAc,OAAO,CAAC,GAAG,EAAE;IACxF,IAAI,CAAC;QACH,oCAAoC;QACpC,MAAM,WAAW,GAAG,IAAA,wBAAc,GAAE,CAAC;QAErC,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,0DAA0D,CAAC,CAAC,CAAC;YACrF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;YACtE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;YACnF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,IAAA,sCAA4B,GAAE,EAAE,CAAC,CAAC,CAAC;YAChE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC,CAAC;YACpF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,8CAA8C;QAC9C,MAAM,OAAO,GAAG,IAAA,kBAAQ,EAAC,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,CAAC;QAEjD,IAAI,OAAO,EAAE,CAAC;YACZ,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,uBAAuB,IAAI,GAAG,CAAC,CAAC,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,WAAW,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;YAC1D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function runCommand(name: string, overridePath?: string, _options?: any): Promise<void>;
2
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAKA,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnG"}
@@ -0,0 +1,43 @@
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.runCommand = runCommand;
7
+ const chalk_1 = __importDefault(require("chalk"));
8
+ const storage_1 = require("../storage");
9
+ const executor_1 = require("../utils/executor");
10
+ const paths_1 = require("../utils/paths");
11
+ async function runCommand(name, overridePath, _options) {
12
+ try {
13
+ // Get the saved alias
14
+ const alias = (0, storage_1.getAlias)(name);
15
+ if (!alias) {
16
+ console.error(chalk_1.default.red(`Error: No saved command found with name "${name}"`));
17
+ console.log(chalk_1.default.yellow('Use "aliasmate list" to see all saved commands'));
18
+ process.exit(1);
19
+ }
20
+ // Determine the directory to run in
21
+ const runDir = overridePath
22
+ ? (0, paths_1.resolvePath)(overridePath, process.cwd())
23
+ : alias.directory;
24
+ // Show what we're about to run
25
+ console.log(chalk_1.default.blue(`Running: ${alias.command}`));
26
+ console.log(chalk_1.default.gray(`Directory: ${runDir}`));
27
+ console.log();
28
+ // Execute the command
29
+ const result = await (0, executor_1.executeCommand)(alias.command, runDir);
30
+ if (!result.success) {
31
+ console.error(chalk_1.default.red('\n✗ Command failed'));
32
+ if (result.stderr) {
33
+ console.error(result.stderr);
34
+ }
35
+ process.exit(1);
36
+ }
37
+ }
38
+ catch (error) {
39
+ console.error(chalk_1.default.red('Error:'), error.message);
40
+ process.exit(1);
41
+ }
42
+ }
43
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":";;;;;AAKA,gCAoCC;AAzCD,kDAA0B;AAC1B,wCAAsC;AACtC,gDAAmD;AACnD,0CAA6C;AAEtC,KAAK,UAAU,UAAU,CAAC,IAAY,EAAE,YAAqB,EAAE,QAAc;IAClF,IAAI,CAAC;QACH,sBAAsB;QACtB,MAAM,KAAK,GAAG,IAAA,kBAAQ,EAAC,IAAI,CAAC,CAAC;QAE7B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,4CAA4C,IAAI,GAAG,CAAC,CAAC,CAAC;YAC9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,oCAAoC;QACpC,MAAM,MAAM,GAAG,YAAY;YACzB,CAAC,CAAC,IAAA,mBAAW,EAAC,YAAY,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC;YAC1C,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC;QAEpB,+BAA+B;QAC/B,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,YAAY,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,cAAc,MAAM,EAAE,CAAC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,sBAAsB;QACtB,MAAM,MAAM,GAAG,MAAM,IAAA,yBAAc,EAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAE3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAC/C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IAEH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,eAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAG,KAAe,CAAC,OAAO,CAAC,CAAC;QAC7D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function saveCommand(_options: any, cwd?: string): Promise<void>;
2
+ //# sourceMappingURL=save.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"AAIA,wBAAsB,WAAW,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyE3F"}
@@ -0,0 +1,83 @@
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.saveCommand = saveCommand;
7
+ const inquirer_1 = __importDefault(require("inquirer"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const storage_1 = require("../storage");
10
+ async function saveCommand(_options, cwd = process.cwd()) {
11
+ try {
12
+ // Prompt for command details
13
+ const answers = await inquirer_1.default.prompt([
14
+ {
15
+ type: 'input',
16
+ name: 'name',
17
+ message: 'Enter a name for this command:',
18
+ validate: (input) => {
19
+ if (!input.trim()) {
20
+ return 'Name cannot be empty';
21
+ }
22
+ if (input.includes(' ')) {
23
+ return 'Name cannot contain spaces';
24
+ }
25
+ return true;
26
+ }
27
+ },
28
+ {
29
+ type: 'input',
30
+ name: 'command',
31
+ message: 'Enter the command to save:',
32
+ validate: (input) => {
33
+ if (!input.trim()) {
34
+ return 'Command cannot be empty';
35
+ }
36
+ return true;
37
+ }
38
+ },
39
+ {
40
+ type: 'input',
41
+ name: 'directory',
42
+ message: 'Enter the working directory:',
43
+ default: cwd
44
+ }
45
+ ]);
46
+ // Check if alias already exists
47
+ if ((0, storage_1.aliasExists)(answers.name)) {
48
+ const { confirm } = await inquirer_1.default.prompt([
49
+ {
50
+ type: 'confirm',
51
+ name: 'confirm',
52
+ message: `A command named "${answers.name}" already exists. Overwrite?`,
53
+ default: false
54
+ }
55
+ ]);
56
+ if (!confirm) {
57
+ console.log(chalk_1.default.yellow('Save cancelled'));
58
+ return;
59
+ }
60
+ }
61
+ // Save the command
62
+ const success = (0, storage_1.setAlias)(answers.name, answers.command, answers.directory);
63
+ if (success) {
64
+ console.log(chalk_1.default.green(`✓ Saved command as "${answers.name}"`));
65
+ console.log(chalk_1.default.gray(` Command: ${answers.command}`));
66
+ console.log(chalk_1.default.gray(` Directory: ${answers.directory}`));
67
+ }
68
+ else {
69
+ console.error(chalk_1.default.red('Error: Could not save command'));
70
+ process.exit(1);
71
+ }
72
+ }
73
+ catch (error) {
74
+ if (error.isTtyError) {
75
+ console.error(chalk_1.default.red('Error: Interactive prompt not supported in this environment'));
76
+ }
77
+ else {
78
+ console.error(chalk_1.default.red('Error:'), error.message);
79
+ }
80
+ process.exit(1);
81
+ }
82
+ }
83
+ //# sourceMappingURL=save.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"save.js","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export interface CommandAlias {
2
+ command: string;
3
+ directory: string;
4
+ createdAt: string;
5
+ updatedAt: string;
6
+ }
7
+ export interface AliasConfig {
8
+ [name: string]: CommandAlias;
9
+ }
10
+ /**
11
+ * Get the config directory path
12
+ */
13
+ export declare function getConfigDir(): string;
14
+ /**
15
+ * Get the config file path
16
+ */
17
+ export declare function getConfigPath(): string;
18
+ /**
19
+ * Load all saved aliases
20
+ */
21
+ export declare function loadAliases(): AliasConfig;
22
+ /**
23
+ * Save all aliases
24
+ */
25
+ export declare function saveAliases(aliases: AliasConfig): boolean;
26
+ /**
27
+ * Get a specific alias
28
+ */
29
+ export declare function getAlias(name: string): CommandAlias | undefined;
30
+ /**
31
+ * Set/update an alias
32
+ */
33
+ export declare function setAlias(name: string, command: string, directory: string): boolean;
34
+ /**
35
+ * Delete an alias
36
+ */
37
+ export declare function deleteAlias(name: string): boolean;
38
+ /**
39
+ * Check if alias exists
40
+ */
41
+ export declare function aliasExists(name: string): boolean;
42
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAUrC;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,WAAW,CAczC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAUzD;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAG/D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CASlF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjD"}
@@ -0,0 +1,134 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getConfigDir = getConfigDir;
37
+ exports.getConfigPath = getConfigPath;
38
+ exports.loadAliases = loadAliases;
39
+ exports.saveAliases = saveAliases;
40
+ exports.getAlias = getAlias;
41
+ exports.setAlias = setAlias;
42
+ exports.deleteAlias = deleteAlias;
43
+ exports.aliasExists = aliasExists;
44
+ const fs = __importStar(require("fs"));
45
+ const path = __importStar(require("path"));
46
+ const os = __importStar(require("os"));
47
+ /**
48
+ * Get the config directory path
49
+ */
50
+ function getConfigDir() {
51
+ const homeDir = os.homedir();
52
+ const configDir = path.join(homeDir, '.config', 'aliasmate');
53
+ // Create directory if it doesn't exist
54
+ if (!fs.existsSync(configDir)) {
55
+ fs.mkdirSync(configDir, { recursive: true });
56
+ }
57
+ return configDir;
58
+ }
59
+ /**
60
+ * Get the config file path
61
+ */
62
+ function getConfigPath() {
63
+ return path.join(getConfigDir(), 'config.json');
64
+ }
65
+ /**
66
+ * Load all saved aliases
67
+ */
68
+ function loadAliases() {
69
+ const configPath = getConfigPath();
70
+ if (!fs.existsSync(configPath)) {
71
+ return {};
72
+ }
73
+ try {
74
+ const data = fs.readFileSync(configPath, 'utf8');
75
+ return JSON.parse(data);
76
+ }
77
+ catch (error) {
78
+ console.error('Error reading config file:', error.message);
79
+ return {};
80
+ }
81
+ }
82
+ /**
83
+ * Save all aliases
84
+ */
85
+ function saveAliases(aliases) {
86
+ const configPath = getConfigPath();
87
+ try {
88
+ fs.writeFileSync(configPath, JSON.stringify(aliases, null, 2), 'utf8');
89
+ return true;
90
+ }
91
+ catch (error) {
92
+ console.error('Error writing config file:', error.message);
93
+ return false;
94
+ }
95
+ }
96
+ /**
97
+ * Get a specific alias
98
+ */
99
+ function getAlias(name) {
100
+ const aliases = loadAliases();
101
+ return aliases[name];
102
+ }
103
+ /**
104
+ * Set/update an alias
105
+ */
106
+ function setAlias(name, command, directory) {
107
+ const aliases = loadAliases();
108
+ aliases[name] = {
109
+ command,
110
+ directory,
111
+ createdAt: aliases[name]?.createdAt || new Date().toISOString(),
112
+ updatedAt: new Date().toISOString()
113
+ };
114
+ return saveAliases(aliases);
115
+ }
116
+ /**
117
+ * Delete an alias
118
+ */
119
+ function deleteAlias(name) {
120
+ const aliases = loadAliases();
121
+ if (!(name in aliases)) {
122
+ return false;
123
+ }
124
+ delete aliases[name];
125
+ return saveAliases(aliases);
126
+ }
127
+ /**
128
+ * Check if alias exists
129
+ */
130
+ function aliasExists(name) {
131
+ const aliases = loadAliases();
132
+ return name in aliases;
133
+ }
134
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}