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.
- package/CHANGELOG.md +36 -0
- package/LICENSE +21 -0
- package/README.md +293 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +101 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/delete.d.ts +2 -0
- package/dist/commands/delete.d.ts.map +1 -0
- package/dist/commands/delete.js +33 -0
- package/dist/commands/delete.js.map +1 -0
- package/dist/commands/edit.d.ts +2 -0
- package/dist/commands/edit.d.ts.map +1 -0
- package/dist/commands/edit.js +68 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/export.d.ts +2 -0
- package/dist/commands/export.d.ts.map +1 -0
- package/dist/commands/export.js +74 -0
- package/dist/commands/export.js.map +1 -0
- package/dist/commands/import.d.ts +2 -0
- package/dist/commands/import.d.ts.map +1 -0
- package/dist/commands/import.js +190 -0
- package/dist/commands/import.js.map +1 -0
- package/dist/commands/list.d.ts +2 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +34 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/prev.d.ts +2 -0
- package/dist/commands/prev.d.ts.map +1 -0
- package/dist/commands/prev.js +40 -0
- package/dist/commands/prev.js.map +1 -0
- package/dist/commands/run.d.ts +2 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +43 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/commands/save.d.ts +2 -0
- package/dist/commands/save.d.ts.map +1 -0
- package/dist/commands/save.js +83 -0
- package/dist/commands/save.js.map +1 -0
- package/dist/storage/index.d.ts +42 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +134 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/utils/executor.d.ts +11 -0
- package/dist/utils/executor.d.ts.map +1 -0
- package/dist/utils/executor.js +76 -0
- package/dist/utils/executor.js.map +1 -0
- package/dist/utils/history.d.ts +19 -0
- package/dist/utils/history.d.ts.map +1 -0
- package/dist/utils/history.js +161 -0
- package/dist/utils/history.js.map +1 -0
- package/dist/utils/paths.d.ts +6 -0
- package/dist/utils/paths.d.ts.map +1 -0
- package/dist/utils/paths.js +60 -0
- package/dist/utils/paths.js.map +1 -0
- package/package.json +57 -0
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
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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"}
|