envx-cli 1.0.0 → 1.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/utils/exec.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { EnvFile, EnvrcConfig, FileOperationResult } from "../types";
1
+ import { EnvFile, EnvrcConfig, FileOperationResult } from '../types';
2
2
  export declare class FileUtils {
3
3
  static findEnvFiles(environment: string, cwd: string): Promise<EnvFile[]>;
4
4
  static findAllEnvironments(cwd: string): Promise<string[]>;
@@ -27,7 +27,7 @@ class FileUtils {
27
27
  });
28
28
  }
29
29
  for (const filePath of encryptedFiles) {
30
- const decryptedPath = (0, lodash_1.replace)(filePath, ".gpg", "");
30
+ const decryptedPath = (0, lodash_1.replace)(filePath, '.gpg', '');
31
31
  results.push({
32
32
  path: path_1.default.join(cwd, decryptedPath),
33
33
  stage: environment,
@@ -38,7 +38,7 @@ class FileUtils {
38
38
  return results;
39
39
  }
40
40
  static async findAllEnvironments(cwd) {
41
- const pattern = "**/.env.*";
41
+ const pattern = '**/.env.*';
42
42
  const files = await (0, fast_glob_1.default)(pattern, { cwd, dot: true });
43
43
  const environments = new Set();
44
44
  for (const file of files) {
@@ -73,7 +73,7 @@ class FileUtils {
73
73
  }
74
74
  static async getFileHash(filePath) {
75
75
  const fileBuffer = await fs_extra_1.default.readFile(filePath);
76
- return crypto_1.default.createHash("md5").update(fileBuffer).digest("hex");
76
+ return crypto_1.default.createHash('md5').update(fileBuffer).digest('hex');
77
77
  }
78
78
  static async filesAreIdentical(file1, file2) {
79
79
  if (!(await this.fileExists(file1)) || !(await this.fileExists(file2))) {
@@ -86,22 +86,22 @@ class FileUtils {
86
86
  return hash1 === hash2;
87
87
  }
88
88
  static async readEnvrc(cwd) {
89
- const envrcPath = path_1.default.join(cwd, ".envrc");
89
+ const envrcPath = path_1.default.join(cwd, '.envrc');
90
90
  if (!(await this.fileExists(envrcPath))) {
91
91
  return {};
92
92
  }
93
93
  try {
94
- const content = await fs_extra_1.default.readFile(envrcPath, "utf-8");
94
+ const content = await fs_extra_1.default.readFile(envrcPath, 'utf-8');
95
95
  const config = {};
96
- const lines = content.split("\n");
96
+ const lines = content.split('\n');
97
97
  for (const line of lines) {
98
98
  const trimmed = line.trim();
99
- if (trimmed.startsWith("export ")) {
99
+ if (trimmed.startsWith('export ')) {
100
100
  const exportStatement = trimmed.substring(7);
101
- const [key, ...valueParts] = exportStatement.split("=");
101
+ const [key, ...valueParts] = exportStatement.split('=');
102
102
  if (key && valueParts.length > 0) {
103
- let value = valueParts.join("=");
104
- value = value.replace(/^["']|["']$/g, "");
103
+ let value = valueParts.join('=');
104
+ value = value.replace(/^["']|["']$/g, '');
105
105
  config[key.trim()] = value;
106
106
  }
107
107
  }
@@ -114,17 +114,17 @@ class FileUtils {
114
114
  }
115
115
  }
116
116
  static async writeEnvrc(cwd, config) {
117
- const envrcPath = path_1.default.join(cwd, ".envrc");
117
+ const envrcPath = path_1.default.join(cwd, '.envrc');
118
118
  try {
119
- const lines = ["# Environment secrets generated by envx", ""];
119
+ const lines = ['# Environment secrets generated by envx', ''];
120
120
  for (const [key, value] of Object.entries(config)) {
121
121
  lines.push(`export ${key}="${value}"`);
122
122
  }
123
- lines.push("");
124
- await fs_extra_1.default.writeFile(envrcPath, lines.join("\n"), "utf-8");
123
+ lines.push('');
124
+ await fs_extra_1.default.writeFile(envrcPath, lines.join('\n'), 'utf-8');
125
125
  return {
126
126
  success: true,
127
- message: "Successfully wrote .envrc file",
127
+ message: 'Successfully wrote .envrc file',
128
128
  filePath: envrcPath,
129
129
  };
130
130
  }
@@ -139,23 +139,23 @@ class FileUtils {
139
139
  }
140
140
  static async createEnvTemplate(filePath, template) {
141
141
  try {
142
- let content = "";
142
+ let content = '';
143
143
  if (template && (await this.fileExists(template))) {
144
- content = await fs_extra_1.default.readFile(template, "utf-8");
144
+ content = await fs_extra_1.default.readFile(template, 'utf-8');
145
145
  }
146
146
  else {
147
147
  content = [
148
- "# Environment variables",
149
- "# Add your environment-specific variables here",
150
- "",
151
- "# Example:",
152
- "# DATABASE_URL=",
153
- "# API_KEY=",
154
- "# DEBUG=false",
155
- "",
156
- ].join("\n");
148
+ '# Environment variables',
149
+ '# Add your environment-specific variables here',
150
+ '',
151
+ '# Example:',
152
+ '# DATABASE_URL=',
153
+ '# API_KEY=',
154
+ '# DEBUG=false',
155
+ '',
156
+ ].join('\n');
157
157
  }
158
- await fs_extra_1.default.writeFile(filePath, content, "utf-8");
158
+ await fs_extra_1.default.writeFile(filePath, content, 'utf-8');
159
159
  return {
160
160
  success: true,
161
161
  message: `Successfully created .env file`,
@@ -172,7 +172,7 @@ class FileUtils {
172
172
  }
173
173
  }
174
174
  static generateRandomSecret(length = 32) {
175
- return crypto_1.default.randomBytes(length).toString("hex");
175
+ return crypto_1.default.randomBytes(length).toString('hex');
176
176
  }
177
177
  static generateSecretVariableName(stage) {
178
178
  return `${stage.toUpperCase()}_SECRET`;
@@ -190,10 +190,10 @@ class FileUtils {
190
190
  return `${filePath}.gpg`;
191
191
  }
192
192
  static getDecryptedPath(encryptedPath) {
193
- return (0, lodash_1.replace)(encryptedPath, ".gpg", "");
193
+ return (0, lodash_1.replace)(encryptedPath, '.gpg', '');
194
194
  }
195
195
  static isEncryptedFile(filePath) {
196
- return filePath.endsWith(".gpg");
196
+ return filePath.endsWith('.gpg');
197
197
  }
198
198
  }
199
199
  exports.FileUtils = FileUtils;
@@ -1,4 +1,4 @@
1
- import { EnvrcConfig } from "../types";
1
+ import { EnvrcConfig } from '../types';
2
2
  export declare class InteractiveUtils {
3
3
  static selectEnvironment(environments: string[], message?: string): Promise<string>;
4
4
  static selectMultipleEnvironments(environments: string[], message?: string): Promise<string[]>;
@@ -10,7 +10,7 @@ export declare class InteractiveUtils {
10
10
  static setupEnvrc(cwd: string, existingEnvironments?: string[]): Promise<EnvrcConfig>;
11
11
  static selectFiles(files: string[], message?: string): Promise<string[]>;
12
12
  static confirmOperation(message: string, defaultValue?: boolean): Promise<boolean>;
13
- static selectOperationMode(): Promise<"encrypt" | "decrypt" | "create" | "interactive">;
13
+ static selectOperationMode(): Promise<'encrypt' | 'decrypt' | 'create' | 'interactive'>;
14
14
  static withProgress<T>(promise: Promise<T>, message?: string): Promise<T>;
15
15
  static displayWelcome(): void;
16
16
  static displayPrerequisites(): void;
@@ -10,54 +10,54 @@ const path_1 = __importDefault(require("path"));
10
10
  const exec_1 = require("./exec");
11
11
  const file_1 = require("./file");
12
12
  class InteractiveUtils {
13
- static async selectEnvironment(environments, message = "Select environment:") {
13
+ static async selectEnvironment(environments, message = 'Select environment:') {
14
14
  if (environments.length === 0) {
15
- throw new Error("No environments found");
15
+ throw new Error('No environments found');
16
16
  }
17
17
  if (environments.length === 1) {
18
18
  return environments[0];
19
19
  }
20
20
  const { environment } = await inquirer_1.default.prompt([
21
21
  {
22
- type: "list",
23
- name: "environment",
22
+ type: 'list',
23
+ name: 'environment',
24
24
  message,
25
25
  choices: environments,
26
26
  },
27
27
  ]);
28
28
  return environment;
29
29
  }
30
- static async selectMultipleEnvironments(environments, message = "Select environments:") {
30
+ static async selectMultipleEnvironments(environments, message = 'Select environments:') {
31
31
  if (environments.length === 0) {
32
- throw new Error("No environments found");
32
+ throw new Error('No environments found');
33
33
  }
34
34
  const { selectedEnvironments } = await inquirer_1.default.prompt({
35
- type: "checkbox",
36
- name: "selectedEnvironments",
35
+ type: 'checkbox',
36
+ name: 'selectedEnvironments',
37
37
  message,
38
38
  choices: environments,
39
39
  validate: (input) => {
40
40
  if (input.length === 0) {
41
- return "Please select at least one environment";
41
+ return 'Please select at least one environment';
42
42
  }
43
43
  return true;
44
44
  },
45
45
  });
46
46
  return selectedEnvironments;
47
47
  }
48
- static async promptPassphrase(message = "Enter passphrase:") {
48
+ static async promptPassphrase(message = 'Enter passphrase:') {
49
49
  const { passphrase } = await inquirer_1.default.prompt([
50
50
  {
51
- type: "password",
52
- name: "passphrase",
51
+ type: 'password',
52
+ name: 'passphrase',
53
53
  message,
54
- mask: "*",
54
+ mask: '*',
55
55
  validate: (input) => {
56
56
  if (!input.trim()) {
57
- return "Passphrase cannot be empty";
57
+ return 'Passphrase cannot be empty';
58
58
  }
59
59
  if (input.length < 4) {
60
- return "Passphrase must be at least 4 characters long";
60
+ return 'Passphrase must be at least 4 characters long';
61
61
  }
62
62
  return true;
63
63
  },
@@ -68,13 +68,13 @@ class InteractiveUtils {
68
68
  static async confirmPassphrase(originalPassphrase) {
69
69
  const { confirmPassphrase } = await inquirer_1.default.prompt([
70
70
  {
71
- type: "password",
72
- name: "confirmPassphrase",
73
- message: "Confirm passphrase:",
74
- mask: "*",
71
+ type: 'password',
72
+ name: 'confirmPassphrase',
73
+ message: 'Confirm passphrase:',
74
+ mask: '*',
75
75
  validate: (input) => {
76
76
  if (input !== originalPassphrase) {
77
- return "Passphrases do not match";
77
+ return 'Passphrases do not match';
78
78
  }
79
79
  return true;
80
80
  },
@@ -83,22 +83,22 @@ class InteractiveUtils {
83
83
  return confirmPassphrase === originalPassphrase;
84
84
  }
85
85
  static async promptNewPassphrase() {
86
- const passphrase = await this.promptPassphrase("Enter new passphrase:");
86
+ const passphrase = await this.promptPassphrase('Enter new passphrase:');
87
87
  await this.confirmPassphrase(passphrase);
88
88
  return passphrase;
89
89
  }
90
- static async promptEnvironmentName(message = "Enter environment name:") {
90
+ static async promptEnvironmentName(message = 'Enter environment name:') {
91
91
  const { environment } = await inquirer_1.default.prompt([
92
92
  {
93
- type: "input",
94
- name: "environment",
93
+ type: 'input',
94
+ name: 'environment',
95
95
  message,
96
96
  validate: (input) => {
97
97
  if (!input.trim()) {
98
- return "Environment name cannot be empty";
98
+ return 'Environment name cannot be empty';
99
99
  }
100
100
  if (!file_1.FileUtils.isValidEnvironmentName(input.trim())) {
101
- return "Environment name can only contain letters, numbers, hyphens, and underscores";
101
+ return 'Environment name can only contain letters, numbers, hyphens, and underscores';
102
102
  }
103
103
  return true;
104
104
  },
@@ -110,25 +110,25 @@ class InteractiveUtils {
110
110
  static async promptSecret(stageName) {
111
111
  const { secretOption } = await inquirer_1.default.prompt([
112
112
  {
113
- type: "list",
114
- name: "secretOption",
113
+ type: 'list',
114
+ name: 'secretOption',
115
115
  message: `How would you like to set the secret for ${chalk_1.default.magenta(stageName)}?`,
116
116
  choices: [
117
- { name: "Generate random secret", value: "generate" },
118
- { name: "Enter custom secret", value: "custom" },
117
+ { name: 'Generate random secret', value: 'generate' },
118
+ { name: 'Enter custom secret', value: 'custom' },
119
119
  ],
120
120
  },
121
121
  ]);
122
- if (secretOption === "generate") {
122
+ if (secretOption === 'generate') {
123
123
  const { secretLength } = await inquirer_1.default.prompt([
124
124
  {
125
- type: "list",
126
- name: "secretLength",
127
- message: "Select secret length:",
125
+ type: 'list',
126
+ name: 'secretLength',
127
+ message: 'Select secret length:',
128
128
  choices: [
129
- { name: "32 characters (recommended)", value: 32 },
130
- { name: "64 characters (high security)", value: 64 },
131
- { name: "16 characters (basic)", value: 16 },
129
+ { name: '32 characters (recommended)', value: 32 },
130
+ { name: '64 characters (high security)', value: 64 },
131
+ { name: '16 characters (basic)', value: 16 },
132
132
  ],
133
133
  default: 32,
134
134
  },
@@ -138,16 +138,16 @@ class InteractiveUtils {
138
138
  else {
139
139
  const { customSecret } = await inquirer_1.default.prompt([
140
140
  {
141
- type: "password",
142
- name: "customSecret",
141
+ type: 'password',
142
+ name: 'customSecret',
143
143
  message: `Enter secret for ${stageName}:`,
144
- mask: "*",
144
+ mask: '*',
145
145
  validate: (input) => {
146
146
  if (!input.trim()) {
147
- return "Secret cannot be empty";
147
+ return 'Secret cannot be empty';
148
148
  }
149
149
  if (input.length < 8) {
150
- return "Secret must be at least 8 characters long";
150
+ return 'Secret must be at least 8 characters long';
151
151
  }
152
152
  return true;
153
153
  },
@@ -157,55 +157,55 @@ class InteractiveUtils {
157
157
  }
158
158
  }
159
159
  static async setupEnvrc(cwd, existingEnvironments = []) {
160
- exec_1.CliUtils.header("Interactive .envrc Setup");
161
- console.log(chalk_1.default.gray("This will help you set up secrets for your environments."));
162
- console.log(chalk_1.default.gray("The secrets will be stored in a .envrc file."));
160
+ exec_1.CliUtils.header('Interactive .envrc Setup');
161
+ console.log(chalk_1.default.gray('This will help you set up secrets for your environments.'));
162
+ console.log(chalk_1.default.gray('The secrets will be stored in a .envrc file.'));
163
163
  console.log();
164
- const envrcPath = path_1.default.join(cwd, ".envrc");
164
+ const envrcPath = path_1.default.join(cwd, '.envrc');
165
165
  const envrcExists = await file_1.FileUtils.fileExists(envrcPath);
166
166
  if (envrcExists) {
167
- exec_1.CliUtils.warning(".envrc file already exists");
167
+ exec_1.CliUtils.warning('.envrc file already exists');
168
168
  const { overwrite } = await inquirer_1.default.prompt([
169
169
  {
170
- type: "confirm",
171
- name: "overwrite",
172
- message: "Do you want to overwrite the existing .envrc file?",
170
+ type: 'confirm',
171
+ name: 'overwrite',
172
+ message: 'Do you want to overwrite the existing .envrc file?',
173
173
  default: false,
174
174
  },
175
175
  ]);
176
176
  if (!overwrite) {
177
- exec_1.CliUtils.info("Keeping existing .envrc file");
177
+ exec_1.CliUtils.info('Keeping existing .envrc file');
178
178
  return await file_1.FileUtils.readEnvrc(cwd);
179
179
  }
180
180
  }
181
181
  let environments = [];
182
182
  if (existingEnvironments.length > 0) {
183
- exec_1.CliUtils.info(`Found existing environments: ${existingEnvironments.map((env) => chalk_1.default.magenta(env)).join(", ")}`);
183
+ exec_1.CliUtils.info(`Found existing environments: ${existingEnvironments.map(env => chalk_1.default.magenta(env)).join(', ')}`);
184
184
  const { useExisting } = await inquirer_1.default.prompt([
185
185
  {
186
- type: "confirm",
187
- name: "useExisting",
188
- message: "Do you want to set up secrets for these existing environments?",
186
+ type: 'confirm',
187
+ name: 'useExisting',
188
+ message: 'Do you want to set up secrets for these existing environments?',
189
189
  default: true,
190
190
  },
191
191
  ]);
192
192
  if (useExisting) {
193
- const selectedEnvs = await this.selectMultipleEnvironments(existingEnvironments, "Select environments to set up secrets for:");
193
+ const selectedEnvs = await this.selectMultipleEnvironments(existingEnvironments, 'Select environments to set up secrets for:');
194
194
  environments = environments.concat(selectedEnvs);
195
195
  }
196
196
  }
197
197
  const { addMore } = await inquirer_1.default.prompt([
198
198
  {
199
- type: "confirm",
200
- name: "addMore",
201
- message: "Do you want to add secrets for additional environments?",
199
+ type: 'confirm',
200
+ name: 'addMore',
201
+ message: 'Do you want to add secrets for additional environments?',
202
202
  default: environments.length === 0,
203
203
  },
204
204
  ]);
205
205
  if (addMore) {
206
206
  let addingMore = true;
207
207
  while (addingMore) {
208
- const newEnv = await this.promptEnvironmentName("Enter new environment name:");
208
+ const newEnv = await this.promptEnvironmentName('Enter new environment name:');
209
209
  if (!environments.includes(newEnv)) {
210
210
  environments.push(newEnv);
211
211
  exec_1.CliUtils.success(`Added ${chalk_1.default.magenta(newEnv)} to the list`);
@@ -215,9 +215,9 @@ class InteractiveUtils {
215
215
  }
216
216
  const { continueAdding } = await inquirer_1.default.prompt([
217
217
  {
218
- type: "confirm",
219
- name: "continueAdding",
220
- message: "Do you want to add another environment?",
218
+ type: 'confirm',
219
+ name: 'continueAdding',
220
+ message: 'Do you want to add another environment?',
221
221
  default: false,
222
222
  },
223
223
  ]);
@@ -225,11 +225,11 @@ class InteractiveUtils {
225
225
  }
226
226
  }
227
227
  if (environments.length === 0) {
228
- throw new Error("No environments selected for .envrc setup");
228
+ throw new Error('No environments selected for .envrc setup');
229
229
  }
230
230
  const config = {};
231
231
  const secrets = [];
232
- exec_1.CliUtils.subheader("Setting up secrets");
232
+ exec_1.CliUtils.subheader('Setting up secrets');
233
233
  for (const env of environments.sort()) {
234
234
  console.log();
235
235
  exec_1.CliUtils.info(`Setting up secret for ${chalk_1.default.magenta(env)}`);
@@ -244,35 +244,35 @@ class InteractiveUtils {
244
244
  exec_1.CliUtils.success(`Secret configured for ${chalk_1.default.magenta(env)} as ${chalk_1.default.cyan(variableName)}`);
245
245
  }
246
246
  console.log();
247
- exec_1.CliUtils.subheader("Summary");
247
+ exec_1.CliUtils.subheader('Summary');
248
248
  const tableRows = secrets.map(({ stage, variableName }) => [
249
249
  chalk_1.default.magenta(stage),
250
250
  chalk_1.default.cyan(variableName),
251
- chalk_1.default.green("✓ Set"),
251
+ chalk_1.default.green('✓ Set'),
252
252
  ]);
253
- exec_1.CliUtils.printTable(["Environment", "Variable Name", "Status"], tableRows);
253
+ exec_1.CliUtils.printTable(['Environment', 'Variable Name', 'Status'], tableRows);
254
254
  const { confirmCreate } = await inquirer_1.default.prompt([
255
255
  {
256
- type: "confirm",
257
- name: "confirmCreate",
258
- message: "Create .envrc file with these settings?",
256
+ type: 'confirm',
257
+ name: 'confirmCreate',
258
+ message: 'Create .envrc file with these settings?',
259
259
  default: true,
260
260
  },
261
261
  ]);
262
262
  if (!confirmCreate) {
263
- throw new Error("Setup cancelled by user");
263
+ throw new Error('Setup cancelled by user');
264
264
  }
265
265
  return config;
266
266
  }
267
- static async selectFiles(files, message = "Select files:") {
267
+ static async selectFiles(files, message = 'Select files:') {
268
268
  if (files.length === 0) {
269
- throw new Error("No files available for selection");
269
+ throw new Error('No files available for selection');
270
270
  }
271
271
  if (files.length === 1) {
272
272
  const { confirm } = await inquirer_1.default.prompt([
273
273
  {
274
- type: "confirm",
275
- name: "confirm",
274
+ type: 'confirm',
275
+ name: 'confirm',
276
276
  message: `Process file ${chalk_1.default.cyan(files[0])}?`,
277
277
  default: true,
278
278
  },
@@ -280,16 +280,16 @@ class InteractiveUtils {
280
280
  return confirm ? files : [];
281
281
  }
282
282
  const { selectedFiles } = await inquirer_1.default.prompt({
283
- type: "checkbox",
284
- name: "selectedFiles",
283
+ type: 'checkbox',
284
+ name: 'selectedFiles',
285
285
  message,
286
- choices: files.map((file) => ({
286
+ choices: files.map(file => ({
287
287
  name: file,
288
288
  value: file,
289
289
  })),
290
290
  validate: (input) => {
291
291
  if (input.length === 0) {
292
- return "Please select at least one file";
292
+ return 'Please select at least one file';
293
293
  }
294
294
  return true;
295
295
  },
@@ -299,8 +299,8 @@ class InteractiveUtils {
299
299
  static async confirmOperation(message, defaultValue = true) {
300
300
  const { confirm } = await inquirer_1.default.prompt([
301
301
  {
302
- type: "confirm",
303
- name: "confirm",
302
+ type: 'confirm',
303
+ name: 'confirm',
304
304
  message,
305
305
  default: defaultValue,
306
306
  },
@@ -310,21 +310,21 @@ class InteractiveUtils {
310
310
  static async selectOperationMode() {
311
311
  const { operation } = await inquirer_1.default.prompt([
312
312
  {
313
- type: "list",
314
- name: "operation",
315
- message: "What would you like to do?",
313
+ type: 'list',
314
+ name: 'operation',
315
+ message: 'What would you like to do?',
316
316
  choices: [
317
- { name: "Encrypt environment files", value: "encrypt" },
318
- { name: "Decrypt environment files", value: "decrypt" },
319
- { name: "Create new environment file", value: "create" },
320
- { name: "Interactive setup (.envrc)", value: "interactive" },
317
+ { name: 'Encrypt environment files', value: 'encrypt' },
318
+ { name: 'Decrypt environment files', value: 'decrypt' },
319
+ { name: 'Create new environment file', value: 'create' },
320
+ { name: 'Interactive setup (.envrc)', value: 'interactive' },
321
321
  ],
322
322
  },
323
323
  ]);
324
324
  return operation;
325
325
  }
326
- static async withProgress(promise, message = "Processing...") {
327
- const spinner = ["", "", "", "", "", "", "", "", "", ""];
326
+ static async withProgress(promise, message = 'Processing...') {
327
+ const spinner = ['', '', '', '', '', '', '', '', '', ''];
328
328
  let i = 0;
329
329
  const interval = setInterval(() => {
330
330
  process.stdout.write(`\r${spinner[i]} ${message}`);
@@ -344,20 +344,20 @@ class InteractiveUtils {
344
344
  }
345
345
  static displayWelcome() {
346
346
  console.log();
347
- console.log(chalk_1.default.bold.cyan("🔐 Welcome to EnvX"));
348
- console.log(chalk_1.default.gray("Environment file encryption and management tool"));
347
+ console.log(chalk_1.default.bold.cyan('🔐 Welcome to EnvX'));
348
+ console.log(chalk_1.default.gray('Environment file encryption and management tool'));
349
349
  console.log();
350
350
  }
351
351
  static displayPrerequisites() {
352
- exec_1.CliUtils.header("Prerequisites");
353
- console.log("Before using EnvX, make sure you have:");
354
- console.log(chalk_1.default.yellow("• GPG installed and configured"));
355
- console.log(chalk_1.default.yellow("• Appropriate file permissions in your project directory"));
352
+ exec_1.CliUtils.header('Prerequisites');
353
+ console.log('Before using EnvX, make sure you have:');
354
+ console.log(chalk_1.default.yellow('• GPG installed and configured'));
355
+ console.log(chalk_1.default.yellow('• Appropriate file permissions in your project directory'));
356
356
  console.log();
357
- console.log("To install GPG:");
358
- console.log(chalk_1.default.cyan("• macOS: brew install gnupg"));
359
- console.log(chalk_1.default.cyan("• Ubuntu/Debian: sudo apt-get install gnupg"));
360
- console.log(chalk_1.default.cyan("• Windows: Download from https://gnupg.org/download/"));
357
+ console.log('To install GPG:');
358
+ console.log(chalk_1.default.cyan('• macOS: brew install gnupg'));
359
+ console.log(chalk_1.default.cyan('• Ubuntu/Debian: sudo apt-get install gnupg'));
360
+ console.log(chalk_1.default.cyan('• Windows: Download from https://gnupg.org/download/'));
361
361
  console.log();
362
362
  }
363
363
  }