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
|
@@ -0,0 +1,201 @@
|
|
|
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.checkAndShowOnboarding = checkAndShowOnboarding;
|
|
40
|
+
exports.hasCompletedOnboarding = hasCompletedOnboarding;
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
44
|
+
const storage_1 = require("../storage");
|
|
45
|
+
const constants_1 = require("./constants");
|
|
46
|
+
const ONBOARDING_FILE = 'onboarding.json';
|
|
47
|
+
/**
|
|
48
|
+
* Get the path to the onboarding state file
|
|
49
|
+
*/
|
|
50
|
+
function getOnboardingPath() {
|
|
51
|
+
return path.join((0, storage_1.getConfigDir)(), ONBOARDING_FILE);
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Load onboarding state from disk
|
|
55
|
+
*/
|
|
56
|
+
function loadOnboardingState() {
|
|
57
|
+
const onboardingPath = getOnboardingPath();
|
|
58
|
+
if (!fs.existsSync(onboardingPath)) {
|
|
59
|
+
return null;
|
|
60
|
+
}
|
|
61
|
+
try {
|
|
62
|
+
const data = fs.readFileSync(onboardingPath, 'utf8');
|
|
63
|
+
return JSON.parse(data);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
return null;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Save onboarding state to disk
|
|
71
|
+
*/
|
|
72
|
+
function saveOnboardingState(state) {
|
|
73
|
+
const onboardingPath = getOnboardingPath();
|
|
74
|
+
try {
|
|
75
|
+
fs.writeFileSync(onboardingPath, JSON.stringify(state, null, 2), 'utf8');
|
|
76
|
+
}
|
|
77
|
+
catch (error) {
|
|
78
|
+
// Silently fail - onboarding is not critical
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Display the welcome message for first-time users
|
|
83
|
+
*/
|
|
84
|
+
function showWelcomeMessage() {
|
|
85
|
+
console.log();
|
|
86
|
+
console.log(chalk_1.default.bold.cyan('🎉 Welcome to AliasMate! 🎉'));
|
|
87
|
+
console.log();
|
|
88
|
+
console.log(chalk_1.default.white('Thanks for installing AliasMate - your terminal productivity companion!'));
|
|
89
|
+
console.log();
|
|
90
|
+
console.log(chalk_1.default.bold.green('Why AliasMate?'));
|
|
91
|
+
console.log(chalk_1.default.gray(' • Save complex commands with one simple command'));
|
|
92
|
+
console.log(chalk_1.default.gray(' • Never lose track of useful commands again'));
|
|
93
|
+
console.log(chalk_1.default.gray(' • Execute commands in their correct directories automatically'));
|
|
94
|
+
console.log(chalk_1.default.gray(' • Share your workflows with your team'));
|
|
95
|
+
console.log();
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Display a quick tour of the main features
|
|
99
|
+
*/
|
|
100
|
+
function showQuickTour() {
|
|
101
|
+
console.log(chalk_1.default.bold.yellow('⚡ Quick Tour - How It Works:'));
|
|
102
|
+
console.log();
|
|
103
|
+
console.log(chalk_1.default.bold('1️⃣ Save Commands'));
|
|
104
|
+
console.log(chalk_1.default.gray(' After running any command, save it:'));
|
|
105
|
+
console.log(chalk_1.default.cyan(' $ npm run build'));
|
|
106
|
+
console.log(chalk_1.default.cyan(' $ aliasmate prev build'));
|
|
107
|
+
console.log(chalk_1.default.gray(' ✓ Saves the command with its working directory'));
|
|
108
|
+
console.log();
|
|
109
|
+
console.log(chalk_1.default.bold('2️⃣ Run Anywhere'));
|
|
110
|
+
console.log(chalk_1.default.gray(' Execute saved commands from any location:'));
|
|
111
|
+
console.log(chalk_1.default.cyan(' $ aliasmate run build'));
|
|
112
|
+
console.log(chalk_1.default.gray(' ✓ Runs in the correct directory automatically'));
|
|
113
|
+
console.log();
|
|
114
|
+
console.log(chalk_1.default.bold('3️⃣ Manage Easily'));
|
|
115
|
+
console.log(chalk_1.default.cyan(' $ aliasmate list ') + chalk_1.default.gray('# View all saved commands'));
|
|
116
|
+
console.log(chalk_1.default.cyan(' $ aliasmate search test ') + chalk_1.default.gray('# Find specific commands'));
|
|
117
|
+
console.log(chalk_1.default.cyan(' $ aliasmate edit build ') + chalk_1.default.gray('# Modify saved commands'));
|
|
118
|
+
console.log();
|
|
119
|
+
console.log(chalk_1.default.bold('4️⃣ Share & Backup'));
|
|
120
|
+
console.log(chalk_1.default.cyan(' $ aliasmate export my-commands.json'));
|
|
121
|
+
console.log(chalk_1.default.cyan(' $ aliasmate import my-commands.json'));
|
|
122
|
+
console.log(chalk_1.default.gray(' ✓ Share workflows with your team'));
|
|
123
|
+
console.log();
|
|
124
|
+
console.log(chalk_1.default.bold('5️⃣ LLM Integration'));
|
|
125
|
+
console.log(chalk_1.default.gray(' A default "llm" command has been created for you:'));
|
|
126
|
+
console.log(chalk_1.default.cyan(' $ aliasmate run llm'));
|
|
127
|
+
console.log(chalk_1.default.gray(' ✓ Generates llm.txt with all AliasMate features'));
|
|
128
|
+
console.log(chalk_1.default.gray(' ✓ Share this file with AI assistants for better help'));
|
|
129
|
+
console.log();
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Display upgrade message when version changes
|
|
133
|
+
*/
|
|
134
|
+
function showUpgradeMessage(oldVersion, newVersion) {
|
|
135
|
+
console.log();
|
|
136
|
+
console.log(chalk_1.default.bold.green(`🎊 AliasMate upgraded from v${oldVersion} to v${newVersion}!`));
|
|
137
|
+
console.log();
|
|
138
|
+
console.log(chalk_1.default.white("What's new:"));
|
|
139
|
+
console.log(chalk_1.default.gray(' • Path mode option: Choose between saved directory or current directory'));
|
|
140
|
+
console.log(chalk_1.default.gray(' • Default "llm" command for LLM integration'));
|
|
141
|
+
console.log(chalk_1.default.gray(' • Enhanced onboarding experience'));
|
|
142
|
+
console.log();
|
|
143
|
+
console.log(chalk_1.default.yellow('Run') + chalk_1.default.cyan(' aliasmate list ') + chalk_1.default.yellow('to see your commands'));
|
|
144
|
+
console.log();
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Display helpful tips after onboarding
|
|
148
|
+
*/
|
|
149
|
+
function showHelpfulTips() {
|
|
150
|
+
console.log(chalk_1.default.bold.magenta('💡 Pro Tips:'));
|
|
151
|
+
console.log(chalk_1.default.gray(' • Use') + chalk_1.default.cyan(' aliasmate save ') + chalk_1.default.gray('for interactive command creation'));
|
|
152
|
+
console.log(chalk_1.default.gray(' • Combine with') + chalk_1.default.cyan(' aliasmate run <name> . ') + chalk_1.default.gray('to run in current directory'));
|
|
153
|
+
console.log(chalk_1.default.gray(' • Export commands to backup or share with teammates'));
|
|
154
|
+
console.log();
|
|
155
|
+
console.log(chalk_1.default.gray('Need help? Run') + chalk_1.default.cyan(' aliasmate --help'));
|
|
156
|
+
console.log();
|
|
157
|
+
console.log(chalk_1.default.bold.green('Happy commanding! 🚀'));
|
|
158
|
+
console.log();
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* Check if this is a first install or upgrade, and show appropriate onboarding
|
|
162
|
+
* @returns true if onboarding was shown, false otherwise
|
|
163
|
+
*/
|
|
164
|
+
function checkAndShowOnboarding() {
|
|
165
|
+
const state = loadOnboardingState();
|
|
166
|
+
const currentVersion = constants_1.APP_VERSION;
|
|
167
|
+
// First install
|
|
168
|
+
if (!state) {
|
|
169
|
+
showWelcomeMessage();
|
|
170
|
+
showQuickTour();
|
|
171
|
+
showHelpfulTips();
|
|
172
|
+
const newState = {
|
|
173
|
+
version: currentVersion,
|
|
174
|
+
lastShownVersion: currentVersion,
|
|
175
|
+
hasSeenWelcome: true,
|
|
176
|
+
installDate: new Date().toISOString(),
|
|
177
|
+
};
|
|
178
|
+
saveOnboardingState(newState);
|
|
179
|
+
return true;
|
|
180
|
+
}
|
|
181
|
+
// Version upgrade
|
|
182
|
+
if (state.version !== currentVersion) {
|
|
183
|
+
showUpgradeMessage(state.version, currentVersion);
|
|
184
|
+
const updatedState = {
|
|
185
|
+
...state,
|
|
186
|
+
version: currentVersion,
|
|
187
|
+
lastShownVersion: currentVersion,
|
|
188
|
+
};
|
|
189
|
+
saveOnboardingState(updatedState);
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
/**
|
|
195
|
+
* Check if user has completed onboarding
|
|
196
|
+
*/
|
|
197
|
+
function hasCompletedOnboarding() {
|
|
198
|
+
const state = loadOnboardingState();
|
|
199
|
+
return state !== null && state.hasSeenWelcome;
|
|
200
|
+
}
|
|
201
|
+
//# sourceMappingURL=onboarding.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"onboarding.js","sourceRoot":"","sources":["../../src/utils/onboarding.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAiJA,wDAoCC;AAKD,wDAGC;AA7LD,uCAAyB;AACzB,2CAA6B;AAC7B,kDAA0B;AAC1B,wCAA0C;AAC1C,2CAA0C;AAS1C,MAAM,eAAe,GAAG,iBAAiB,CAAC;AAE1C;;GAEG;AACH,SAAS,iBAAiB;IACxB,OAAO,IAAI,CAAC,IAAI,CAAC,IAAA,sBAAY,GAAE,EAAE,eAAe,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB;IAC1B,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAoB,CAAC;IAC7C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,KAAsB;IACjD,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;IAC3E,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,6CAA6C;IAC/C,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB;IACzB,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IAC5D,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,yEAAyE,CAAC,CAAC,CAAC;IACpG,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC,CAAC;IAC3F,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;IACnE,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,aAAa;IACpB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IACrD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC7C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;IACxE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACpD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAC9C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;IAClG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC;IACjG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,8BAA8B,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;IAClE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC,CAAC;IAChF,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAClD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC,CAAC;IAC9E,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,yDAAyD,CAAC,CAAC,CAAC;IACnF,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,kBAAkB,CAAC,UAAkB,EAAE,UAAkB;IAChE,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,+BAA+B,UAAU,QAAQ,UAAU,GAAG,CAAC,CAAC,CAAC;IAC9F,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC;IACxC,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,2EAA2E,CAAC,CAAC,CAAC;IACrG,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,+CAA+C,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC,CAAC;IAC9D,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,eAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACzG,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,SAAS,eAAe;IACtB,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC,CAAC;IAChD,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC,CAAC;IACrH,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,0BAA0B,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC,CAAC;IACjI,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC,CAAC;IACjF,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,eAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;IAC5E,OAAO,CAAC,GAAG,EAAE,CAAC;IACd,OAAO,CAAC,GAAG,CAAC,eAAK,CAAC,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED;;;GAGG;AACH,SAAgB,sBAAsB;IACpC,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;IACpC,MAAM,cAAc,GAAG,uBAAW,CAAC;IAEnC,gBAAgB;IAChB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,kBAAkB,EAAE,CAAC;QACrB,aAAa,EAAE,CAAC;QAChB,eAAe,EAAE,CAAC;QAElB,MAAM,QAAQ,GAAoB;YAChC,OAAO,EAAE,cAAc;YACvB,gBAAgB,EAAE,cAAc;YAChC,cAAc,EAAE,IAAI;YACpB,WAAW,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACtC,CAAC;QAEF,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kBAAkB;IAClB,IAAI,KAAK,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACrC,kBAAkB,CAAC,KAAK,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC;QAElD,MAAM,YAAY,GAAoB;YACpC,GAAG,KAAK;YACR,OAAO,EAAE,cAAc;YACvB,gBAAgB,EAAE,cAAc;SACjC,CAAC;QAEF,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAClC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAgB,sBAAsB;IACpC,MAAM,KAAK,GAAG,mBAAmB,EAAE,CAAC;IACpC,OAAO,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,cAAc,CAAC;AAChD,CAAC"}
|
package/dist/utils/paths.d.ts
CHANGED
|
@@ -1,6 +1,44 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Resolve a path, handling relative paths, absolute paths, and special cases
|
|
3
|
-
*
|
|
3
|
+
* Works cross-platform (Windows, macOS, Linux)
|
|
4
|
+
*
|
|
5
|
+
* @param inputPath - The path to resolve
|
|
6
|
+
* @param basePath - The base path to resolve relative paths against (defaults to cwd)
|
|
7
|
+
* @returns The resolved absolute path
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```ts
|
|
11
|
+
* resolvePath('.', '/home/user') // => '/home/user'
|
|
12
|
+
* resolvePath('..', '/home/user') // => '/home'
|
|
13
|
+
* resolvePath('/absolute/path') // => '/absolute/path'
|
|
14
|
+
* resolvePath('relative/path', '/base') // => '/base/relative/path'
|
|
15
|
+
* ```
|
|
4
16
|
*/
|
|
5
17
|
export declare function resolvePath(inputPath: string, basePath?: string): string;
|
|
18
|
+
/**
|
|
19
|
+
* Validate that a directory exists and is accessible
|
|
20
|
+
*
|
|
21
|
+
* @param dirPath - The directory path to validate
|
|
22
|
+
* @returns true if directory exists and is accessible, false otherwise
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* ```ts
|
|
26
|
+
* if (isValidDirectory('/home/user/project')) {
|
|
27
|
+
* console.log('Directory is valid');
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
export declare function isValidDirectory(dirPath: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Sanitize a command name by removing invalid characters
|
|
34
|
+
*
|
|
35
|
+
* @param name - The command name to sanitize
|
|
36
|
+
* @returns Sanitized command name
|
|
37
|
+
*
|
|
38
|
+
* @example
|
|
39
|
+
* ```ts
|
|
40
|
+
* sanitizeCommandName('my command!') // => 'my-command'
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function sanitizeCommandName(name: string): string;
|
|
6
44
|
//# sourceMappingURL=paths.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"paths.d.ts","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAqBvF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAOzD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMxD"}
|
package/dist/utils/paths.js
CHANGED
|
@@ -34,10 +34,25 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.resolvePath = resolvePath;
|
|
37
|
+
exports.isValidDirectory = isValidDirectory;
|
|
38
|
+
exports.sanitizeCommandName = sanitizeCommandName;
|
|
37
39
|
const path = __importStar(require("path"));
|
|
40
|
+
const fs = __importStar(require("fs"));
|
|
38
41
|
/**
|
|
39
42
|
* Resolve a path, handling relative paths, absolute paths, and special cases
|
|
40
|
-
*
|
|
43
|
+
* Works cross-platform (Windows, macOS, Linux)
|
|
44
|
+
*
|
|
45
|
+
* @param inputPath - The path to resolve
|
|
46
|
+
* @param basePath - The base path to resolve relative paths against (defaults to cwd)
|
|
47
|
+
* @returns The resolved absolute path
|
|
48
|
+
*
|
|
49
|
+
* @example
|
|
50
|
+
* ```ts
|
|
51
|
+
* resolvePath('.', '/home/user') // => '/home/user'
|
|
52
|
+
* resolvePath('..', '/home/user') // => '/home'
|
|
53
|
+
* resolvePath('/absolute/path') // => '/absolute/path'
|
|
54
|
+
* resolvePath('relative/path', '/base') // => '/base/relative/path'
|
|
55
|
+
* ```
|
|
41
56
|
*/
|
|
42
57
|
function resolvePath(inputPath, basePath = process.cwd()) {
|
|
43
58
|
if (!inputPath) {
|
|
@@ -57,4 +72,44 @@ function resolvePath(inputPath, basePath = process.cwd()) {
|
|
|
57
72
|
// Resolve relative to base path
|
|
58
73
|
return path.resolve(basePath, inputPath);
|
|
59
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* Validate that a directory exists and is accessible
|
|
77
|
+
*
|
|
78
|
+
* @param dirPath - The directory path to validate
|
|
79
|
+
* @returns true if directory exists and is accessible, false otherwise
|
|
80
|
+
*
|
|
81
|
+
* @example
|
|
82
|
+
* ```ts
|
|
83
|
+
* if (isValidDirectory('/home/user/project')) {
|
|
84
|
+
* console.log('Directory is valid');
|
|
85
|
+
* }
|
|
86
|
+
* ```
|
|
87
|
+
*/
|
|
88
|
+
function isValidDirectory(dirPath) {
|
|
89
|
+
try {
|
|
90
|
+
const stats = fs.statSync(dirPath);
|
|
91
|
+
return stats.isDirectory();
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Sanitize a command name by removing invalid characters
|
|
99
|
+
*
|
|
100
|
+
* @param name - The command name to sanitize
|
|
101
|
+
* @returns Sanitized command name
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```ts
|
|
105
|
+
* sanitizeCommandName('my command!') // => 'my-command'
|
|
106
|
+
* ```
|
|
107
|
+
*/
|
|
108
|
+
function sanitizeCommandName(name) {
|
|
109
|
+
return name
|
|
110
|
+
.trim()
|
|
111
|
+
.replace(/[\s]+/g, '-') // Replace spaces with hyphens
|
|
112
|
+
.replace(/[^a-zA-Z0-9_-]/g, '') // Remove invalid characters
|
|
113
|
+
.toLowerCase();
|
|
114
|
+
}
|
|
60
115
|
//# sourceMappingURL=paths.js.map
|
package/dist/utils/paths.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"paths.js","sourceRoot":"","sources":["../../src/utils/paths.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBA,kCAqBC;AAeD,4CAOC;AAaD,kDAMC;AAjFD,2CAA6B;AAC7B,uCAAyB;AAEzB;;;;;;;;;;;;;;;GAeG;AACH,SAAgB,WAAW,CAAC,SAAiB,EAAE,WAAmB,OAAO,CAAC,GAAG,EAAE;IAC7E,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,iDAAiD;IACjD,IAAI,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,uBAAuB;IACvB,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;QACtB,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IAED,gCAAgC;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;;;;;;;GAYG;AACH,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC;IAC7B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAgB,mBAAmB,CAAC,IAAY;IAC9C,OAAO,IAAI;SACR,IAAI,EAAE;SACN,OAAO,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,8BAA8B;SACrD,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC,4BAA4B;SAC3D,WAAW,EAAE,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type-safe prompt utilities to eliminate 'any' types
|
|
3
|
+
*/
|
|
4
|
+
export interface TextInputPrompt {
|
|
5
|
+
type: 'input';
|
|
6
|
+
name: string;
|
|
7
|
+
message: string;
|
|
8
|
+
default?: string;
|
|
9
|
+
validate?: (input: string) => boolean | string;
|
|
10
|
+
}
|
|
11
|
+
export interface ConfirmPrompt {
|
|
12
|
+
type: 'confirm';
|
|
13
|
+
name: string;
|
|
14
|
+
message: string;
|
|
15
|
+
default?: boolean;
|
|
16
|
+
}
|
|
17
|
+
export interface ListPrompt {
|
|
18
|
+
type: 'list';
|
|
19
|
+
name: string;
|
|
20
|
+
message: string;
|
|
21
|
+
choices: Array<{
|
|
22
|
+
name: string;
|
|
23
|
+
value: string;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
type PromptType = TextInputPrompt | ConfirmPrompt | ListPrompt;
|
|
27
|
+
/**
|
|
28
|
+
* Type-safe wrapper for inquirer text input prompt
|
|
29
|
+
*
|
|
30
|
+
* @param prompt - The prompt configuration
|
|
31
|
+
* @returns Promise resolving to the user's input string
|
|
32
|
+
*/
|
|
33
|
+
export declare function promptText(prompt: TextInputPrompt): Promise<string>;
|
|
34
|
+
/**
|
|
35
|
+
* Type-safe wrapper for inquirer confirm prompt
|
|
36
|
+
*
|
|
37
|
+
* @param prompt - The prompt configuration
|
|
38
|
+
* @returns Promise resolving to the user's boolean choice
|
|
39
|
+
*/
|
|
40
|
+
export declare function promptConfirm(prompt: ConfirmPrompt): Promise<boolean>;
|
|
41
|
+
/**
|
|
42
|
+
* Type-safe wrapper for inquirer list prompt
|
|
43
|
+
*
|
|
44
|
+
* @param prompt - The prompt configuration
|
|
45
|
+
* @returns Promise resolving to the selected value
|
|
46
|
+
*/
|
|
47
|
+
export declare function promptList(prompt: ListPrompt): Promise<string>;
|
|
48
|
+
/**
|
|
49
|
+
* Type-safe wrapper for multiple prompts
|
|
50
|
+
*
|
|
51
|
+
* @param prompts - Array of prompt configurations
|
|
52
|
+
* @returns Promise resolving to an object with all answers
|
|
53
|
+
*/
|
|
54
|
+
export declare function promptMultiple<T extends Record<string, unknown>>(prompts: PromptType[]): Promise<T>;
|
|
55
|
+
export {};
|
|
56
|
+
//# sourceMappingURL=prompts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.d.ts","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":"AAEA;;GAEG;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,GAAG,MAAM,CAAC;CAChD;AAED,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED,KAAK,UAAU,GAAG,eAAe,GAAG,aAAa,GAAG,UAAU,CAAC;AAE/D;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAGzE;AAED;;;;;GAKG;AACH,wBAAsB,aAAa,CAAC,MAAM,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAG3E;AAED;;;;;GAKG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAGpE;AAED;;;;;GAKG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACpE,OAAO,EAAE,UAAU,EAAE,GACpB,OAAO,CAAC,CAAC,CAAC,CAGZ"}
|
|
@@ -0,0 +1,51 @@
|
|
|
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.promptText = promptText;
|
|
7
|
+
exports.promptConfirm = promptConfirm;
|
|
8
|
+
exports.promptList = promptList;
|
|
9
|
+
exports.promptMultiple = promptMultiple;
|
|
10
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
11
|
+
/**
|
|
12
|
+
* Type-safe wrapper for inquirer text input prompt
|
|
13
|
+
*
|
|
14
|
+
* @param prompt - The prompt configuration
|
|
15
|
+
* @returns Promise resolving to the user's input string
|
|
16
|
+
*/
|
|
17
|
+
async function promptText(prompt) {
|
|
18
|
+
const result = await inquirer_1.default.prompt([prompt]);
|
|
19
|
+
return result[prompt.name];
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Type-safe wrapper for inquirer confirm prompt
|
|
23
|
+
*
|
|
24
|
+
* @param prompt - The prompt configuration
|
|
25
|
+
* @returns Promise resolving to the user's boolean choice
|
|
26
|
+
*/
|
|
27
|
+
async function promptConfirm(prompt) {
|
|
28
|
+
const result = await inquirer_1.default.prompt([prompt]);
|
|
29
|
+
return result[prompt.name];
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Type-safe wrapper for inquirer list prompt
|
|
33
|
+
*
|
|
34
|
+
* @param prompt - The prompt configuration
|
|
35
|
+
* @returns Promise resolving to the selected value
|
|
36
|
+
*/
|
|
37
|
+
async function promptList(prompt) {
|
|
38
|
+
const result = await inquirer_1.default.prompt([prompt]);
|
|
39
|
+
return result[prompt.name];
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Type-safe wrapper for multiple prompts
|
|
43
|
+
*
|
|
44
|
+
* @param prompts - Array of prompt configurations
|
|
45
|
+
* @returns Promise resolving to an object with all answers
|
|
46
|
+
*/
|
|
47
|
+
async function promptMultiple(prompts) {
|
|
48
|
+
const result = await inquirer_1.default.prompt(prompts);
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=prompts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompts.js","sourceRoot":"","sources":["../../src/utils/prompts.ts"],"names":[],"mappings":";;;;;AAoCA,gCAGC;AAQD,sCAGC;AAQD,gCAGC;AAQD,wCAKC;AA1ED,wDAAgC;AA8BhC;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAAC,MAAuB;IACtD,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CAAC,MAAqB;IACvD,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAA0B,CAAC,MAAM,CAAC,CAAC,CAAC;IACxE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,UAAU,CAAC,MAAkB;IACjD,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAyB,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,cAAc,CAClC,OAAqB;IAErB,MAAM,MAAM,GAAG,MAAM,kBAAQ,CAAC,MAAM,CAAI,OAAyC,CAAC,CAAC;IACnF,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aliasmate",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.3.0",
|
|
4
4
|
"description": "A CLI utility to save, manage, and re-run shell commands with their working directories",
|
|
5
5
|
"main": "dist/cli.js",
|
|
6
6
|
"bin": {
|
|
@@ -10,7 +10,15 @@
|
|
|
10
10
|
"build": "tsc",
|
|
11
11
|
"dev": "tsc --watch",
|
|
12
12
|
"prepublishOnly": "npm run build",
|
|
13
|
-
"
|
|
13
|
+
"lint": "eslint src/**/*.ts",
|
|
14
|
+
"lint:fix": "eslint src/**/*.ts --fix",
|
|
15
|
+
"format": "prettier --write \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
16
|
+
"format:check": "prettier --check \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
17
|
+
"typecheck": "tsc --noEmit",
|
|
18
|
+
"test": "jest",
|
|
19
|
+
"test:watch": "jest --watch",
|
|
20
|
+
"test:coverage": "jest --coverage",
|
|
21
|
+
"test:ci": "jest --ci --coverage --maxWorkers=2"
|
|
14
22
|
},
|
|
15
23
|
"keywords": [
|
|
16
24
|
"cli",
|
|
@@ -24,7 +32,7 @@
|
|
|
24
32
|
"automation",
|
|
25
33
|
"workflow"
|
|
26
34
|
],
|
|
27
|
-
"author": "",
|
|
35
|
+
"author": "akhshyganesh",
|
|
28
36
|
"license": "MIT",
|
|
29
37
|
"engines": {
|
|
30
38
|
"node": ">=14.0.0"
|
|
@@ -38,14 +46,22 @@
|
|
|
38
46
|
},
|
|
39
47
|
"homepage": "https://github.com/aliasmate/aliasmate#readme",
|
|
40
48
|
"dependencies": {
|
|
49
|
+
"chalk": "^4.1.2",
|
|
41
50
|
"commander": "^11.1.0",
|
|
42
|
-
"inquirer": "^8.2.6",
|
|
43
51
|
"execa": "^5.1.1",
|
|
44
|
-
"
|
|
52
|
+
"inquirer": "^8.2.6"
|
|
45
53
|
},
|
|
46
54
|
"devDependencies": {
|
|
47
|
-
"@
|
|
55
|
+
"@jest/globals": "^30.2.0",
|
|
48
56
|
"@types/inquirer": "^8.2.10",
|
|
57
|
+
"@types/jest": "^30.0.0",
|
|
58
|
+
"@types/node": "^20.10.0",
|
|
59
|
+
"@typescript-eslint/eslint-plugin": "^6.13.0",
|
|
60
|
+
"@typescript-eslint/parser": "^6.13.0",
|
|
61
|
+
"eslint": "^8.55.0",
|
|
62
|
+
"jest": "^30.2.0",
|
|
63
|
+
"prettier": "^3.1.0",
|
|
64
|
+
"ts-jest": "^29.4.6",
|
|
49
65
|
"typescript": "^5.3.3"
|
|
50
66
|
},
|
|
51
67
|
"files": [
|