aliasmate 1.3.2 → 1.5.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 +23 -0
- package/README.md +96 -10
- package/dist/cli.js +9 -2
- package/dist/cli.js.map +1 -1
- package/dist/commands/changelog.d.ts +9 -0
- package/dist/commands/changelog.d.ts.map +1 -0
- package/dist/commands/changelog.js +72 -0
- package/dist/commands/changelog.js.map +1 -0
- package/dist/commands/edit.d.ts.map +1 -1
- package/dist/commands/edit.js +77 -3
- package/dist/commands/edit.js.map +1 -1
- package/dist/commands/list.d.ts.map +1 -1
- package/dist/commands/list.js +4 -0
- package/dist/commands/list.js.map +1 -1
- package/dist/commands/prev.d.ts +1 -1
- package/dist/commands/prev.d.ts.map +1 -1
- package/dist/commands/prev.js +66 -4
- package/dist/commands/prev.js.map +1 -1
- package/dist/commands/run.d.ts.map +1 -1
- package/dist/commands/run.js +23 -2
- package/dist/commands/run.js.map +1 -1
- package/dist/commands/save.d.ts.map +1 -1
- package/dist/commands/save.js +61 -2
- package/dist/commands/save.js.map +1 -1
- package/dist/storage/index.d.ts +40 -1
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +83 -1
- package/dist/storage/index.js.map +1 -1
- package/dist/utils/changelog.d.ts +41 -0
- package/dist/utils/changelog.d.ts.map +1 -0
- package/dist/utils/changelog.js +192 -0
- package/dist/utils/changelog.js.map +1 -0
- package/dist/utils/constants.d.ts +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/env.d.ts +64 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +199 -0
- package/dist/utils/env.js.map +1 -0
- package/dist/utils/executor.d.ts +2 -1
- package/dist/utils/executor.d.ts.map +1 -1
- package/dist/utils/executor.js +3 -1
- package/dist/utils/executor.js.map +1 -1
- package/dist/utils/llm-generator.d.ts.map +1 -1
- package/dist/utils/llm-generator.js +123 -7
- package/dist/utils/llm-generator.js.map +1 -1
- package/dist/utils/onboarding.d.ts.map +1 -1
- package/dist/utils/onboarding.js +35 -7
- package/dist/utils/onboarding.js.map +1 -1
- package/dist/utils/prompts.d.ts +11 -1
- package/dist/utils/prompts.d.ts.map +1 -1
- package/dist/utils/prompts.js.map +1 -1
- package/dist/utils/version-checker.d.ts +29 -0
- package/dist/utils/version-checker.d.ts.map +1 -0
- package/dist/utils/version-checker.js +191 -0
- package/dist/utils/version-checker.js.map +1 -0
- package/package.json +6 -2
- package/whats-new.json +144 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prev.js","sourceRoot":"","sources":["../../src/commands/prev.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"prev.js","sourceRoot":"","sources":["../../src/commands/prev.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAQA;;;;;;;;;;;;;;GAcG;AACH,wBAAsB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoFnF"}
|
package/dist/commands/run.js
CHANGED
|
@@ -10,6 +10,7 @@ const executor_1 = require("../utils/executor");
|
|
|
10
10
|
const paths_1 = require("../utils/paths");
|
|
11
11
|
const errors_1 = require("../utils/errors");
|
|
12
12
|
const constants_1 = require("../utils/constants");
|
|
13
|
+
const env_1 = require("../utils/env");
|
|
13
14
|
/**
|
|
14
15
|
* Run a saved command, optionally overriding its working directory
|
|
15
16
|
*
|
|
@@ -60,9 +61,29 @@ async function runCommand(name, overridePath) {
|
|
|
60
61
|
else {
|
|
61
62
|
console.log(chalk_1.default.gray(`Path Mode: ${pathMode}`));
|
|
62
63
|
}
|
|
64
|
+
// Handle environment variables
|
|
65
|
+
let envToUse = process.env;
|
|
66
|
+
if (alias.env && Object.keys(alias.env).length > 0) {
|
|
67
|
+
envToUse = (0, env_1.mergeEnvVars)(alias.env, process.env);
|
|
68
|
+
console.log(chalk_1.default.gray(`Environment Variables: ${Object.keys(alias.env).length} loaded`));
|
|
69
|
+
// Show any overrides
|
|
70
|
+
const overrides = (0, env_1.getEnvOverrides)(alias.env, process.env);
|
|
71
|
+
if (overrides.length > 0) {
|
|
72
|
+
console.log(chalk_1.default.yellow(`\n⚠️ ${overrides.length} saved env variable(s) overridden by current environment:`));
|
|
73
|
+
overrides.forEach(({ name }) => {
|
|
74
|
+
console.log(chalk_1.default.yellow(` - ${name}`));
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Show masked env vars for visibility
|
|
78
|
+
const masked = (0, env_1.maskSensitiveEnvVars)(alias.env);
|
|
79
|
+
console.log(chalk_1.default.gray('\nSaved environment variables:'));
|
|
80
|
+
Object.entries(masked).forEach(([key, value]) => {
|
|
81
|
+
console.log(chalk_1.default.gray(` ${key}=${value}`));
|
|
82
|
+
});
|
|
83
|
+
}
|
|
63
84
|
console.log();
|
|
64
|
-
// Execute the command
|
|
65
|
-
const result = await (0, executor_1.executeCommand)(alias.command, runDir);
|
|
85
|
+
// Execute the command with merged environment
|
|
86
|
+
const result = await (0, executor_1.executeCommand)(alias.command, runDir, envToUse);
|
|
66
87
|
if (!result.success) {
|
|
67
88
|
console.error(chalk_1.default.red('\n✗ Command failed'));
|
|
68
89
|
if (result.exitCode !== undefined) {
|
package/dist/commands/run.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"save.d.ts","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"AAcA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAAC,GAAG,GAAE,MAAsB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgM5E"}
|
package/dist/commands/save.js
CHANGED
|
@@ -9,6 +9,7 @@ const storage_1 = require("../storage");
|
|
|
9
9
|
const errors_1 = require("../utils/errors");
|
|
10
10
|
const constants_1 = require("../utils/constants");
|
|
11
11
|
const prompts_1 = require("../utils/prompts");
|
|
12
|
+
const env_1 = require("../utils/env");
|
|
12
13
|
/**
|
|
13
14
|
* Interactively save a new command with prompts
|
|
14
15
|
*
|
|
@@ -101,14 +102,72 @@ async function saveCommand(cwd = process.cwd()) {
|
|
|
101
102
|
return;
|
|
102
103
|
}
|
|
103
104
|
}
|
|
104
|
-
//
|
|
105
|
+
// Ask if user wants to capture environment variables
|
|
106
|
+
const captureEnvPrompt = {
|
|
107
|
+
type: 'confirm',
|
|
108
|
+
name: 'captureEnv',
|
|
109
|
+
message: 'Capture current environment variables with this command?',
|
|
110
|
+
default: false,
|
|
111
|
+
};
|
|
112
|
+
const shouldCaptureEnv = await (0, prompts_1.promptConfirm)(captureEnvPrompt);
|
|
113
|
+
const selectedEnv = {};
|
|
114
|
+
if (shouldCaptureEnv) {
|
|
115
|
+
const userEnv = (0, env_1.getUserEnvVars)();
|
|
116
|
+
const { sensitive, safe } = (0, env_1.categorizeEnvVars)(userEnv);
|
|
117
|
+
if (Object.keys(userEnv).length === 0) {
|
|
118
|
+
console.log(chalk_1.default.yellow('No user-defined environment variables found.'));
|
|
119
|
+
}
|
|
120
|
+
else {
|
|
121
|
+
// Show warning if there are sensitive vars
|
|
122
|
+
if (Object.keys(sensitive).length > 0) {
|
|
123
|
+
console.log(chalk_1.default.yellow('\n⚠️ Warning: Some environment variables appear to contain sensitive data:'));
|
|
124
|
+
Object.keys(sensitive).forEach((key) => {
|
|
125
|
+
console.log(chalk_1.default.yellow(` - ${key}`));
|
|
126
|
+
});
|
|
127
|
+
console.log(chalk_1.default.gray('(These may contain API keys, tokens, or passwords)\n'));
|
|
128
|
+
}
|
|
129
|
+
// Let user select which vars to save
|
|
130
|
+
const envChoices = [
|
|
131
|
+
...Object.keys(safe).map((key) => ({
|
|
132
|
+
name: (0, env_1.formatEnvVars)({ [key]: userEnv[key] })[0],
|
|
133
|
+
value: key,
|
|
134
|
+
checked: true, // Safe vars are checked by default
|
|
135
|
+
})),
|
|
136
|
+
...Object.keys(sensitive).map((key) => ({
|
|
137
|
+
name: `${(0, env_1.formatEnvVars)({ [key]: userEnv[key] })[0]} ${chalk_1.default.yellow('(sensitive)')}`,
|
|
138
|
+
value: key,
|
|
139
|
+
checked: false, // Sensitive vars are unchecked by default
|
|
140
|
+
})),
|
|
141
|
+
];
|
|
142
|
+
if (envChoices.length > 0) {
|
|
143
|
+
const checkboxPrompt = {
|
|
144
|
+
type: 'checkbox',
|
|
145
|
+
name: 'envVars',
|
|
146
|
+
message: 'Select environment variables to save (use space to toggle):',
|
|
147
|
+
choices: envChoices,
|
|
148
|
+
};
|
|
149
|
+
const selectedVars = await (0, prompts_1.promptMultiple)([checkboxPrompt]);
|
|
150
|
+
// Build the selected env object
|
|
151
|
+
for (const varName of selectedVars.envVars) {
|
|
152
|
+
selectedEnv[varName] = userEnv[varName];
|
|
153
|
+
}
|
|
154
|
+
if (Object.keys(selectedEnv).length > 0) {
|
|
155
|
+
console.log(chalk_1.default.green(`\n✓ ${Object.keys(selectedEnv).length} environment variable(s) will be saved`));
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
// Save the command with path mode and env vars
|
|
105
161
|
try {
|
|
106
|
-
const success = (0, storage_1.setAlias)(answers.name.trim(), answers.command, answers.directory, answers.pathMode);
|
|
162
|
+
const success = (0, storage_1.setAlias)(answers.name.trim(), answers.command, answers.directory, answers.pathMode, Object.keys(selectedEnv).length > 0 ? selectedEnv : undefined);
|
|
107
163
|
if (success) {
|
|
108
164
|
console.log(chalk_1.default.green(`✓ ${constants_1.SUCCESS_MESSAGES.saved(answers.name.trim())}`));
|
|
109
165
|
console.log(chalk_1.default.gray(` Command: ${answers.command}`));
|
|
110
166
|
console.log(chalk_1.default.gray(` Directory: ${answers.directory}`));
|
|
111
167
|
console.log(chalk_1.default.gray(` Path Mode: ${answers.pathMode}`));
|
|
168
|
+
if (Object.keys(selectedEnv).length > 0) {
|
|
169
|
+
console.log(chalk_1.default.gray(` Environment Variables: ${Object.keys(selectedEnv).length} saved`));
|
|
170
|
+
}
|
|
112
171
|
}
|
|
113
172
|
else {
|
|
114
173
|
(0, errors_1.exitWithError)(constants_1.ERROR_MESSAGES.couldNotSave);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"save.js","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"save.js","sourceRoot":"","sources":["../../src/commands/save.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export interface CommandAlias {
|
|
|
14
14
|
directory: string;
|
|
15
15
|
/** Path mode: 'saved' (use stored directory) or 'current' (use current directory) */
|
|
16
16
|
pathMode?: PathMode;
|
|
17
|
+
/** Environment variables to set when running the command */
|
|
18
|
+
env?: Record<string, string>;
|
|
17
19
|
/** ISO 8601 timestamp when the command was created */
|
|
18
20
|
createdAt: string;
|
|
19
21
|
/** ISO 8601 timestamp when the command was last modified */
|
|
@@ -25,6 +27,12 @@ export interface CommandAlias {
|
|
|
25
27
|
export interface AliasConfig {
|
|
26
28
|
[name: string]: CommandAlias;
|
|
27
29
|
}
|
|
30
|
+
/**
|
|
31
|
+
* Metadata storage for application state (non-alias data)
|
|
32
|
+
*/
|
|
33
|
+
export interface MetadataConfig {
|
|
34
|
+
[key: string]: unknown;
|
|
35
|
+
}
|
|
28
36
|
/**
|
|
29
37
|
* Get the config directory path, creating it if it doesn't exist
|
|
30
38
|
* @returns The absolute path to the config directory
|
|
@@ -35,6 +43,11 @@ export declare function getConfigDir(): string;
|
|
|
35
43
|
* @returns The absolute path to the config.json file
|
|
36
44
|
*/
|
|
37
45
|
export declare function getConfigPath(): string;
|
|
46
|
+
/**
|
|
47
|
+
* Get the metadata file path
|
|
48
|
+
* @returns The absolute path to the metadata.json file
|
|
49
|
+
*/
|
|
50
|
+
export declare function getMetadataPath(): string;
|
|
38
51
|
/**
|
|
39
52
|
* Load all saved aliases from the config file
|
|
40
53
|
* @returns The alias configuration object, or an empty object if the file doesn't exist
|
|
@@ -59,10 +72,11 @@ export declare function getAlias(name: string): CommandAlias | undefined;
|
|
|
59
72
|
* @param command - The shell command to save
|
|
60
73
|
* @param directory - The working directory for the command
|
|
61
74
|
* @param pathMode - Optional path mode ('saved' or 'current'), defaults to 'saved'
|
|
75
|
+
* @param env - Optional environment variables to save with the command
|
|
62
76
|
* @returns true if successful, false otherwise
|
|
63
77
|
* @throws {Error} If the directory doesn't exist or isn't accessible
|
|
64
78
|
*/
|
|
65
|
-
export declare function setAlias(name: string, command: string, directory: string, pathMode?: PathMode): boolean;
|
|
79
|
+
export declare function setAlias(name: string, command: string, directory: string, pathMode?: PathMode, env?: Record<string, string>): boolean;
|
|
66
80
|
/**
|
|
67
81
|
* Delete an alias by name
|
|
68
82
|
* @param name - The name of the alias to delete
|
|
@@ -75,4 +89,29 @@ export declare function deleteAlias(name: string): boolean;
|
|
|
75
89
|
* @returns true if the alias exists, false otherwise
|
|
76
90
|
*/
|
|
77
91
|
export declare function aliasExists(name: string): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Load metadata from the metadata file
|
|
94
|
+
* @returns The metadata configuration object, or an empty object if the file doesn't exist
|
|
95
|
+
*/
|
|
96
|
+
export declare function loadMetadata(): MetadataConfig;
|
|
97
|
+
/**
|
|
98
|
+
* Save metadata to the metadata file
|
|
99
|
+
* Uses atomic write pattern to prevent data corruption
|
|
100
|
+
* @param metadata - The metadata configuration to save
|
|
101
|
+
* @returns true if successful, false otherwise
|
|
102
|
+
*/
|
|
103
|
+
export declare function saveMetadata(metadata: MetadataConfig): boolean;
|
|
104
|
+
/**
|
|
105
|
+
* Get a specific metadata value by key
|
|
106
|
+
* @param key - The key to retrieve
|
|
107
|
+
* @returns The metadata value if found, undefined otherwise
|
|
108
|
+
*/
|
|
109
|
+
export declare function getMetadata<T = unknown>(key: string): T | undefined;
|
|
110
|
+
/**
|
|
111
|
+
* Set or update a metadata value
|
|
112
|
+
* @param key - The key to set
|
|
113
|
+
* @param value - The value to store
|
|
114
|
+
* @returns true if successful, false otherwise
|
|
115
|
+
*/
|
|
116
|
+
export declare function setMetadata<T = unknown>(key: string, value: T): boolean;
|
|
78
117
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAUrC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,WAAW,CAczC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAsBzD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAG/D;AAED
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,iEAAiE;IACjE,SAAS,EAAE,MAAM,CAAC;IAClB,qFAAqF;IACrF,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,4DAA4D;IAC5D,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,CAAC;CAC9B;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,MAAM,CAUrC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;GAGG;AACH,wBAAgB,WAAW,IAAI,WAAW,CAczC;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAsBzD;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAG/D;AAED;;;;;;;;;GASG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,QAAQ,GAAE,QAAkB,EAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC3B,OAAO,CA2BT;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAOjD;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjD;AAED;;;GAGG;AACH,wBAAgB,YAAY,IAAI,cAAc,CAc7C;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAsB9D;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,SAAS,CAGnE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAIvE"}
|
package/dist/storage/index.js
CHANGED
|
@@ -35,12 +35,17 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.getConfigDir = getConfigDir;
|
|
37
37
|
exports.getConfigPath = getConfigPath;
|
|
38
|
+
exports.getMetadataPath = getMetadataPath;
|
|
38
39
|
exports.loadAliases = loadAliases;
|
|
39
40
|
exports.saveAliases = saveAliases;
|
|
40
41
|
exports.getAlias = getAlias;
|
|
41
42
|
exports.setAlias = setAlias;
|
|
42
43
|
exports.deleteAlias = deleteAlias;
|
|
43
44
|
exports.aliasExists = aliasExists;
|
|
45
|
+
exports.loadMetadata = loadMetadata;
|
|
46
|
+
exports.saveMetadata = saveMetadata;
|
|
47
|
+
exports.getMetadata = getMetadata;
|
|
48
|
+
exports.setMetadata = setMetadata;
|
|
44
49
|
const fs = __importStar(require("fs"));
|
|
45
50
|
const path = __importStar(require("path"));
|
|
46
51
|
const os = __importStar(require("os"));
|
|
@@ -64,6 +69,13 @@ function getConfigDir() {
|
|
|
64
69
|
function getConfigPath() {
|
|
65
70
|
return path.join(getConfigDir(), 'config.json');
|
|
66
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* Get the metadata file path
|
|
74
|
+
* @returns The absolute path to the metadata.json file
|
|
75
|
+
*/
|
|
76
|
+
function getMetadataPath() {
|
|
77
|
+
return path.join(getConfigDir(), 'metadata.json');
|
|
78
|
+
}
|
|
67
79
|
/**
|
|
68
80
|
* Load all saved aliases from the config file
|
|
69
81
|
* @returns The alias configuration object, or an empty object if the file doesn't exist
|
|
@@ -127,10 +139,11 @@ function getAlias(name) {
|
|
|
127
139
|
* @param command - The shell command to save
|
|
128
140
|
* @param directory - The working directory for the command
|
|
129
141
|
* @param pathMode - Optional path mode ('saved' or 'current'), defaults to 'saved'
|
|
142
|
+
* @param env - Optional environment variables to save with the command
|
|
130
143
|
* @returns true if successful, false otherwise
|
|
131
144
|
* @throws {Error} If the directory doesn't exist or isn't accessible
|
|
132
145
|
*/
|
|
133
|
-
function setAlias(name, command, directory, pathMode = 'saved') {
|
|
146
|
+
function setAlias(name, command, directory, pathMode = 'saved', env) {
|
|
134
147
|
// Validate inputs
|
|
135
148
|
if (!name || !name.trim()) {
|
|
136
149
|
throw new Error('Alias name cannot be empty');
|
|
@@ -150,6 +163,7 @@ function setAlias(name, command, directory, pathMode = 'saved') {
|
|
|
150
163
|
command: command.trim(),
|
|
151
164
|
directory: path.resolve(directory),
|
|
152
165
|
pathMode,
|
|
166
|
+
...(env && Object.keys(env).length > 0 ? { env } : {}),
|
|
153
167
|
createdAt: aliases[name]?.createdAt || new Date().toISOString(),
|
|
154
168
|
updatedAt: new Date().toISOString(),
|
|
155
169
|
};
|
|
@@ -177,4 +191,72 @@ function aliasExists(name) {
|
|
|
177
191
|
const aliases = loadAliases();
|
|
178
192
|
return name in aliases;
|
|
179
193
|
}
|
|
194
|
+
/**
|
|
195
|
+
* Load metadata from the metadata file
|
|
196
|
+
* @returns The metadata configuration object, or an empty object if the file doesn't exist
|
|
197
|
+
*/
|
|
198
|
+
function loadMetadata() {
|
|
199
|
+
const metadataPath = getMetadataPath();
|
|
200
|
+
if (!fs.existsSync(metadataPath)) {
|
|
201
|
+
return {};
|
|
202
|
+
}
|
|
203
|
+
try {
|
|
204
|
+
const data = fs.readFileSync(metadataPath, 'utf8');
|
|
205
|
+
return JSON.parse(data);
|
|
206
|
+
}
|
|
207
|
+
catch (error) {
|
|
208
|
+
console.error('Error reading metadata file:', error.message);
|
|
209
|
+
return {};
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Save metadata to the metadata file
|
|
214
|
+
* Uses atomic write pattern to prevent data corruption
|
|
215
|
+
* @param metadata - The metadata configuration to save
|
|
216
|
+
* @returns true if successful, false otherwise
|
|
217
|
+
*/
|
|
218
|
+
function saveMetadata(metadata) {
|
|
219
|
+
const metadataPath = getMetadataPath();
|
|
220
|
+
const tempPath = `${metadataPath}.tmp`;
|
|
221
|
+
try {
|
|
222
|
+
// Write to temporary file first
|
|
223
|
+
fs.writeFileSync(tempPath, JSON.stringify(metadata, null, 2), 'utf8');
|
|
224
|
+
// Atomic rename
|
|
225
|
+
fs.renameSync(tempPath, metadataPath);
|
|
226
|
+
return true;
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
console.error('Error writing metadata file:', error.message);
|
|
230
|
+
// Clean up temp file if it exists
|
|
231
|
+
try {
|
|
232
|
+
if (fs.existsSync(tempPath)) {
|
|
233
|
+
fs.unlinkSync(tempPath);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
catch {
|
|
237
|
+
// Ignore cleanup errors
|
|
238
|
+
}
|
|
239
|
+
return false;
|
|
240
|
+
}
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* Get a specific metadata value by key
|
|
244
|
+
* @param key - The key to retrieve
|
|
245
|
+
* @returns The metadata value if found, undefined otherwise
|
|
246
|
+
*/
|
|
247
|
+
function getMetadata(key) {
|
|
248
|
+
const metadata = loadMetadata();
|
|
249
|
+
return metadata[key];
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Set or update a metadata value
|
|
253
|
+
* @param key - The key to set
|
|
254
|
+
* @param value - The value to store
|
|
255
|
+
* @returns true if successful, false otherwise
|
|
256
|
+
*/
|
|
257
|
+
function setMetadata(key, value) {
|
|
258
|
+
const metadata = loadMetadata();
|
|
259
|
+
metadata[key] = value;
|
|
260
|
+
return saveMetadata(metadata);
|
|
261
|
+
}
|
|
180
262
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Changelog utilities for displaying cumulative version changes
|
|
3
|
+
*/
|
|
4
|
+
interface ChangelogEntry {
|
|
5
|
+
version: string;
|
|
6
|
+
date: string;
|
|
7
|
+
sections: {
|
|
8
|
+
added?: string[];
|
|
9
|
+
changed?: string[];
|
|
10
|
+
fixed?: string[];
|
|
11
|
+
deprecated?: string[];
|
|
12
|
+
removed?: string[];
|
|
13
|
+
security?: string[];
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Get all versions between fromVersion and toVersion (inclusive)
|
|
18
|
+
*/
|
|
19
|
+
export declare function getVersionsInRange(fromVersion: string, toVersion: string): string[];
|
|
20
|
+
/**
|
|
21
|
+
* Get changes for a specific version
|
|
22
|
+
*/
|
|
23
|
+
export declare function getVersionChanges(version: string): ChangelogEntry | null;
|
|
24
|
+
/**
|
|
25
|
+
* Get cumulative changes between two versions
|
|
26
|
+
*/
|
|
27
|
+
export declare function getCumulativeChanges(fromVersion: string, toVersion: string): ChangelogEntry[];
|
|
28
|
+
/**
|
|
29
|
+
* Display changes for a single version
|
|
30
|
+
*/
|
|
31
|
+
export declare function displayVersionChanges(entry: ChangelogEntry): void;
|
|
32
|
+
/**
|
|
33
|
+
* Display cumulative changes between versions
|
|
34
|
+
*/
|
|
35
|
+
export declare function displayCumulativeChanges(fromVersion: string, toVersion: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* Get a summary of changes suitable for upgrade notifications
|
|
38
|
+
*/
|
|
39
|
+
export declare function getUpgradeSummary(fromVersion: string, toVersion: string): string[];
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=changelog.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/utils/changelog.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;QACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAwCD;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CASnF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAKxE;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,cAAc,EAAE,CAS7F;AAaD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI,CA6BjE;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CA0BrF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,EAAE,CAelF"}
|