envx-cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +550 -0
  3. package/dist/commands/create.d.ts +3 -0
  4. package/dist/commands/create.d.ts.map +1 -0
  5. package/dist/commands/create.js +281 -0
  6. package/dist/commands/create.js.map +1 -0
  7. package/dist/commands/decrypt.d.ts +3 -0
  8. package/dist/commands/decrypt.d.ts.map +1 -0
  9. package/dist/commands/decrypt.js +206 -0
  10. package/dist/commands/decrypt.js.map +1 -0
  11. package/dist/commands/encrypt.d.ts +3 -0
  12. package/dist/commands/encrypt.d.ts.map +1 -0
  13. package/dist/commands/encrypt.js +194 -0
  14. package/dist/commands/encrypt.js.map +1 -0
  15. package/dist/commands/interactive.d.ts +4 -0
  16. package/dist/commands/interactive.d.ts.map +1 -0
  17. package/dist/commands/interactive.js +218 -0
  18. package/dist/commands/interactive.js.map +1 -0
  19. package/dist/index.d.ts +5 -0
  20. package/dist/index.d.ts.map +1 -0
  21. package/dist/index.js +299 -0
  22. package/dist/index.js.map +1 -0
  23. package/dist/schemas/index.d.ts +167 -0
  24. package/dist/schemas/index.d.ts.map +1 -0
  25. package/dist/schemas/index.js +76 -0
  26. package/dist/schemas/index.js.map +1 -0
  27. package/dist/types/index.d.ts +64 -0
  28. package/dist/types/index.d.ts.map +1 -0
  29. package/dist/types/index.js +3 -0
  30. package/dist/types/index.js.map +1 -0
  31. package/dist/utils/exec.d.ts +32 -0
  32. package/dist/utils/exec.d.ts.map +1 -0
  33. package/dist/utils/exec.js +208 -0
  34. package/dist/utils/exec.js.map +1 -0
  35. package/dist/utils/file.d.ts +22 -0
  36. package/dist/utils/file.d.ts.map +1 -0
  37. package/dist/utils/file.js +200 -0
  38. package/dist/utils/file.js.map +1 -0
  39. package/dist/utils/interactive.d.ts +18 -0
  40. package/dist/utils/interactive.d.ts.map +1 -0
  41. package/dist/utils/interactive.js +365 -0
  42. package/dist/utils/interactive.js.map +1 -0
  43. package/package.json +74 -0
package/dist/index.js ADDED
@@ -0,0 +1,299 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
4
+ if (k2 === undefined) k2 = k;
5
+ var desc = Object.getOwnPropertyDescriptor(m, k);
6
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
7
+ desc = { enumerable: true, get: function() { return m[k]; } };
8
+ }
9
+ Object.defineProperty(o, k2, desc);
10
+ }) : (function(o, m, k, k2) {
11
+ if (k2 === undefined) k2 = k;
12
+ o[k2] = m[k];
13
+ }));
14
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
15
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
16
+ }) : function(o, v) {
17
+ o["default"] = v;
18
+ });
19
+ var __importStar = (this && this.__importStar) || (function () {
20
+ var ownKeys = function(o) {
21
+ ownKeys = Object.getOwnPropertyNames || function (o) {
22
+ var ar = [];
23
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
24
+ return ar;
25
+ };
26
+ return ownKeys(o);
27
+ };
28
+ return function (mod) {
29
+ if (mod && mod.__esModule) return mod;
30
+ var result = {};
31
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
32
+ __setModuleDefault(result, mod);
33
+ return result;
34
+ };
35
+ })();
36
+ var __importDefault = (this && this.__importDefault) || function (mod) {
37
+ return (mod && mod.__esModule) ? mod : { "default": mod };
38
+ };
39
+ Object.defineProperty(exports, "__esModule", { value: true });
40
+ exports.createProgram = createProgram;
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ const commander_1 = require("commander");
43
+ const path_1 = __importDefault(require("path"));
44
+ const create_1 = require("./commands/create");
45
+ const decrypt_1 = require("./commands/decrypt");
46
+ const encrypt_1 = require("./commands/encrypt");
47
+ const interactive_1 = require("./commands/interactive");
48
+ const exec_1 = require("./utils/exec");
49
+ const file_1 = require("./utils/file");
50
+ const interactive_2 = require("./utils/interactive");
51
+ const packageJson = require('../package.json');
52
+ async function createProgram() {
53
+ const program = new commander_1.Command();
54
+ program
55
+ .name('envx')
56
+ .description('Environment file encryption and management tool')
57
+ .version(packageJson.version)
58
+ .option('-v, --verbose', 'Enable verbose output')
59
+ .option('-q, --quiet', 'Suppress non-error output')
60
+ .hook('preAction', async (thisCommand) => {
61
+ const options = thisCommand.opts();
62
+ if (options.quiet) {
63
+ const originalLog = console.log;
64
+ console.log = (...args) => {
65
+ if (!args.some(arg => typeof arg === 'string' && arg.includes('✗'))) {
66
+ return;
67
+ }
68
+ originalLog(...args);
69
+ };
70
+ }
71
+ });
72
+ program.addCommand((0, encrypt_1.createEncryptCommand)());
73
+ program.addCommand((0, decrypt_1.createDecryptCommand)());
74
+ program.addCommand((0, create_1.createCreateCommand)());
75
+ program.addCommand((0, interactive_1.createInteractiveCommand)());
76
+ program
77
+ .command('list')
78
+ .alias('ls')
79
+ .description('List all environment files and their status')
80
+ .option('-c, --cwd <path>', 'Working directory path')
81
+ .action(async (options) => {
82
+ try {
83
+ await executeList(options);
84
+ }
85
+ catch (error) {
86
+ exec_1.CliUtils.error(`List failed: ${error instanceof Error ? error.message : String(error)}`);
87
+ process.exit(1);
88
+ }
89
+ });
90
+ program
91
+ .command('status')
92
+ .description('Show project encryption status and recommendations')
93
+ .option('-c, --cwd <path>', 'Working directory path')
94
+ .action(async (options) => {
95
+ try {
96
+ await executeStatus(options);
97
+ }
98
+ catch (error) {
99
+ exec_1.CliUtils.error(`Status check failed: ${error instanceof Error ? error.message : String(error)}`);
100
+ process.exit(1);
101
+ }
102
+ });
103
+ program
104
+ .command('init')
105
+ .description('Initialize EnvX in a new project')
106
+ .option('-c, --cwd <path>', 'Working directory path')
107
+ .action(async (options) => {
108
+ try {
109
+ await executeInit(options);
110
+ }
111
+ catch (error) {
112
+ exec_1.CliUtils.error(`Initialization failed: ${error instanceof Error ? error.message : String(error)}`);
113
+ process.exit(1);
114
+ }
115
+ });
116
+ program
117
+ .command('version')
118
+ .description('Show version information')
119
+ .action(() => {
120
+ console.log();
121
+ console.log(chalk_1.default.bold.cyan('🔐 EnvX'));
122
+ console.log(`Version: ${chalk_1.default.green(packageJson.version)}`);
123
+ console.log(`Description: ${packageJson.description || 'Environment file encryption and management tool'}`);
124
+ console.log();
125
+ console.log('Dependencies:');
126
+ console.log(`• GPG: ${exec_1.ExecUtils.isGpgAvailable() ? chalk_1.default.green('Available') : chalk_1.default.red('Not found')}`);
127
+ console.log(`• Node.js: ${chalk_1.default.green(process.version)}`);
128
+ console.log();
129
+ });
130
+ return program;
131
+ }
132
+ async function executeList(options) {
133
+ const cwd = options.cwd || exec_1.ExecUtils.getCurrentDir();
134
+ exec_1.CliUtils.header('Environment Files');
135
+ const environments = await file_1.FileUtils.findAllEnvironments(cwd);
136
+ if (environments.length === 0) {
137
+ exec_1.CliUtils.warning('No environment files found in the current directory.');
138
+ console.log();
139
+ exec_1.CliUtils.info('To get started:');
140
+ console.log(chalk_1.default.cyan(' envx init'));
141
+ console.log(chalk_1.default.cyan(' envx create -i'));
142
+ return;
143
+ }
144
+ const tableRows = [];
145
+ for (const env of environments.sort()) {
146
+ const envFiles = await file_1.FileUtils.findEnvFiles(env, cwd);
147
+ for (const file of envFiles) {
148
+ const displayPath = file.encrypted
149
+ ? file_1.FileUtils.getEncryptedPath(file.path)
150
+ : file.path;
151
+ const relativePath = file_1.FileUtils.getRelativePath(displayPath, cwd);
152
+ const status = file.encrypted ? chalk_1.default.green('Encrypted') : chalk_1.default.yellow('Unencrypted');
153
+ const type = file.encrypted ? '.gpg' : '.env';
154
+ tableRows.push([
155
+ exec_1.CliUtils.formatEnvironment(env),
156
+ chalk_1.default.cyan(relativePath),
157
+ type,
158
+ status
159
+ ]);
160
+ }
161
+ }
162
+ if (tableRows.length > 0) {
163
+ exec_1.CliUtils.printTable(['Environment', 'File Path', 'Type', 'Status'], tableRows);
164
+ }
165
+ console.log();
166
+ const envrcExists = await file_1.FileUtils.fileExists(path_1.default.join(cwd, '.envrc'));
167
+ exec_1.CliUtils.info(`Secrets file (.envrc): ${envrcExists ? chalk_1.default.green('Present') : chalk_1.default.yellow('Not found')}`);
168
+ if (!envrcExists) {
169
+ console.log(chalk_1.default.gray(' Use "envx interactive" to set up secrets'));
170
+ }
171
+ }
172
+ async function executeStatus(options) {
173
+ const cwd = options.cwd || exec_1.ExecUtils.getCurrentDir();
174
+ exec_1.CliUtils.header('Project Status');
175
+ exec_1.CliUtils.subheader('Prerequisites');
176
+ console.log(`GPG: ${exec_1.ExecUtils.isGpgAvailable() ? chalk_1.default.green('✓ Available') : chalk_1.default.red('✗ Not found')}`);
177
+ if (!exec_1.ExecUtils.isGpgAvailable()) {
178
+ interactive_2.InteractiveUtils.displayPrerequisites();
179
+ return;
180
+ }
181
+ const environments = await file_1.FileUtils.findAllEnvironments(cwd);
182
+ if (environments.length === 0) {
183
+ exec_1.CliUtils.warning('No environment files found.');
184
+ console.log();
185
+ exec_1.CliUtils.info('Recommendations:');
186
+ console.log(chalk_1.default.yellow('• Run "envx init" to get started'));
187
+ console.log(chalk_1.default.yellow('• Create environment files with "envx create"'));
188
+ return;
189
+ }
190
+ exec_1.CliUtils.subheader('Environment Summary');
191
+ let totalFiles = 0;
192
+ let encryptedFiles = 0;
193
+ let unencryptedFiles = 0;
194
+ const recommendations = [];
195
+ for (const env of environments) {
196
+ const envFiles = await file_1.FileUtils.findEnvFiles(env, cwd);
197
+ const encrypted = envFiles.filter(f => f.encrypted).length;
198
+ const unencrypted = envFiles.filter(f => !f.encrypted).length;
199
+ totalFiles += encrypted + unencrypted;
200
+ encryptedFiles += encrypted;
201
+ unencryptedFiles += unencrypted;
202
+ if (unencrypted > 0 && ['production', 'staging'].includes(env)) {
203
+ recommendations.push(`Encrypt ${env} environment files for security`);
204
+ }
205
+ }
206
+ console.log(`Total environments: ${chalk_1.default.cyan(environments.length)}`);
207
+ console.log(`Total files: ${chalk_1.default.cyan(totalFiles)}`);
208
+ console.log(`Encrypted: ${chalk_1.default.green(encryptedFiles)}`);
209
+ console.log(`Unencrypted: ${unencryptedFiles > 0 ? chalk_1.default.yellow(unencryptedFiles) : chalk_1.default.gray(unencryptedFiles)}`);
210
+ console.log();
211
+ const envrcExists = await file_1.FileUtils.fileExists(path_1.default.join(cwd, '.envrc'));
212
+ console.log(`Secrets file (.envrc): ${envrcExists ? chalk_1.default.green('✓ Present') : chalk_1.default.yellow('✗ Missing')}`);
213
+ if (!envrcExists) {
214
+ recommendations.push('Set up .envrc file with "envx interactive"');
215
+ }
216
+ if (recommendations.length > 0) {
217
+ console.log();
218
+ exec_1.CliUtils.subheader('Recommendations');
219
+ recommendations.forEach(rec => {
220
+ console.log(chalk_1.default.yellow(`• ${rec}`));
221
+ });
222
+ }
223
+ else {
224
+ console.log();
225
+ exec_1.CliUtils.success('Your project follows security best practices! 🎉');
226
+ }
227
+ }
228
+ async function executeInit(options) {
229
+ const cwd = options.cwd || exec_1.ExecUtils.getCurrentDir();
230
+ interactive_2.InteractiveUtils.displayWelcome();
231
+ exec_1.CliUtils.info('Initializing EnvX in your project...');
232
+ console.log(`Directory: ${exec_1.CliUtils.formatPath(cwd, process.cwd())}`);
233
+ console.log();
234
+ const existingEnvironments = await file_1.FileUtils.findAllEnvironments(cwd);
235
+ const envrcExists = await file_1.FileUtils.fileExists(path_1.default.join(cwd, '.envrc'));
236
+ if (existingEnvironments.length > 0 || envrcExists) {
237
+ exec_1.CliUtils.warning('EnvX appears to already be set up in this project.');
238
+ if (existingEnvironments.length > 0) {
239
+ console.log(`Found environments: ${existingEnvironments.map(env => exec_1.CliUtils.formatEnvironment(env)).join(', ')}`);
240
+ }
241
+ if (envrcExists) {
242
+ console.log('Found .envrc file');
243
+ }
244
+ const proceed = await interactive_2.InteractiveUtils.confirmOperation('Do you want to continue with initialization anyway?', false);
245
+ if (!proceed) {
246
+ exec_1.CliUtils.info('Initialization cancelled.');
247
+ return;
248
+ }
249
+ }
250
+ if (!exec_1.ExecUtils.isGpgAvailable()) {
251
+ exec_1.CliUtils.error('GPG is required but not found.');
252
+ interactive_2.InteractiveUtils.displayPrerequisites();
253
+ return;
254
+ }
255
+ exec_1.CliUtils.success('GPG is available');
256
+ await (0, interactive_1.showQuickStart)(cwd);
257
+ const startSetup = await interactive_2.InteractiveUtils.confirmOperation('Would you like to start the interactive setup now?');
258
+ if (startSetup) {
259
+ console.log();
260
+ exec_1.CliUtils.info('Starting interactive setup...');
261
+ const { createInteractiveCommand } = await Promise.resolve().then(() => __importStar(require('./commands/interactive')));
262
+ const interactiveCmd = createInteractiveCommand();
263
+ await interactiveCmd.parseAsync(['interactive'], { from: 'user' });
264
+ }
265
+ else {
266
+ console.log();
267
+ exec_1.CliUtils.info('You can run the setup later with:');
268
+ console.log(chalk_1.default.cyan(' envx interactive'));
269
+ }
270
+ }
271
+ process.on('uncaughtException', (error) => {
272
+ exec_1.CliUtils.error(`Uncaught error: ${error.message}`);
273
+ if (process.env.NODE_ENV === 'development') {
274
+ console.error(error.stack);
275
+ }
276
+ process.exit(1);
277
+ });
278
+ process.on('unhandledRejection', (reason, promise) => {
279
+ exec_1.CliUtils.error(`Unhandled rejection at: ${promise}, reason: ${reason}`);
280
+ process.exit(1);
281
+ });
282
+ async function main() {
283
+ try {
284
+ const program = await createProgram();
285
+ if (process.argv.length <= 2) {
286
+ program.help();
287
+ return;
288
+ }
289
+ await program.parseAsync(process.argv);
290
+ }
291
+ catch (error) {
292
+ exec_1.CliUtils.error(`Command failed: ${error instanceof Error ? error.message : String(error)}`);
293
+ process.exit(1);
294
+ }
295
+ }
296
+ if (require.main === module) {
297
+ main();
298
+ }
299
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,167 @@
1
+ import { z } from "zod";
2
+ export declare const baseOptionsSchema: z.ZodObject<{
3
+ cwd: z.ZodOptional<z.ZodString>;
4
+ environment: z.ZodOptional<z.ZodString>;
5
+ passphrase: z.ZodOptional<z.ZodString>;
6
+ secret: z.ZodOptional<z.ZodString>;
7
+ interactive: z.ZodOptional<z.ZodBoolean>;
8
+ generate: z.ZodOptional<z.ZodBoolean>;
9
+ stage: z.ZodOptional<z.ZodString>;
10
+ }, "strip", z.ZodTypeAny, {
11
+ cwd?: string | undefined;
12
+ environment?: string | undefined;
13
+ passphrase?: string | undefined;
14
+ secret?: string | undefined;
15
+ interactive?: boolean | undefined;
16
+ generate?: boolean | undefined;
17
+ stage?: string | undefined;
18
+ }, {
19
+ cwd?: string | undefined;
20
+ environment?: string | undefined;
21
+ passphrase?: string | undefined;
22
+ secret?: string | undefined;
23
+ interactive?: boolean | undefined;
24
+ generate?: boolean | undefined;
25
+ stage?: string | undefined;
26
+ }>;
27
+ export declare const encryptSchema: z.ZodObject<{
28
+ environment: z.ZodString;
29
+ passphrase: z.ZodString;
30
+ cwd: z.ZodOptional<z.ZodString>;
31
+ secret: z.ZodOptional<z.ZodString>;
32
+ }, "strip", z.ZodTypeAny, {
33
+ environment: string;
34
+ passphrase: string;
35
+ cwd?: string | undefined;
36
+ secret?: string | undefined;
37
+ }, {
38
+ environment: string;
39
+ passphrase: string;
40
+ cwd?: string | undefined;
41
+ secret?: string | undefined;
42
+ }>;
43
+ export declare const decryptSchema: z.ZodObject<{
44
+ environment: z.ZodString;
45
+ passphrase: z.ZodString;
46
+ cwd: z.ZodOptional<z.ZodString>;
47
+ secret: z.ZodOptional<z.ZodString>;
48
+ }, "strip", z.ZodTypeAny, {
49
+ environment: string;
50
+ passphrase: string;
51
+ cwd?: string | undefined;
52
+ secret?: string | undefined;
53
+ }, {
54
+ environment: string;
55
+ passphrase: string;
56
+ cwd?: string | undefined;
57
+ secret?: string | undefined;
58
+ }>;
59
+ export declare const createSchema: z.ZodObject<{
60
+ environment: z.ZodString;
61
+ template: z.ZodOptional<z.ZodString>;
62
+ cwd: z.ZodOptional<z.ZodString>;
63
+ }, "strip", z.ZodTypeAny, {
64
+ environment: string;
65
+ cwd?: string | undefined;
66
+ template?: string | undefined;
67
+ }, {
68
+ environment: string;
69
+ cwd?: string | undefined;
70
+ template?: string | undefined;
71
+ }>;
72
+ export declare const interactiveSchema: z.ZodObject<{
73
+ overwrite: z.ZodOptional<z.ZodBoolean>;
74
+ cwd: z.ZodOptional<z.ZodString>;
75
+ }, "strip", z.ZodTypeAny, {
76
+ cwd?: string | undefined;
77
+ overwrite?: boolean | undefined;
78
+ }, {
79
+ cwd?: string | undefined;
80
+ overwrite?: boolean | undefined;
81
+ }>;
82
+ export declare const stageSecretSchema: z.ZodObject<{
83
+ stage: z.ZodString;
84
+ secret: z.ZodString;
85
+ variableName: z.ZodString;
86
+ }, "strip", z.ZodTypeAny, {
87
+ secret: string;
88
+ stage: string;
89
+ variableName: string;
90
+ }, {
91
+ secret: string;
92
+ stage: string;
93
+ variableName: string;
94
+ }>;
95
+ export declare const envrcConfigSchema: z.ZodRecord<z.ZodString, z.ZodString>;
96
+ export declare const fileOperationSchema: z.ZodObject<{
97
+ success: z.ZodBoolean;
98
+ message: z.ZodString;
99
+ filePath: z.ZodOptional<z.ZodString>;
100
+ error: z.ZodOptional<z.ZodType<Error, z.ZodTypeDef, Error>>;
101
+ }, "strip", z.ZodTypeAny, {
102
+ message: string;
103
+ success: boolean;
104
+ filePath?: string | undefined;
105
+ error?: Error | undefined;
106
+ }, {
107
+ message: string;
108
+ success: boolean;
109
+ filePath?: string | undefined;
110
+ error?: Error | undefined;
111
+ }>;
112
+ export declare const commandResultSchema: z.ZodObject<{
113
+ success: z.ZodBoolean;
114
+ message: z.ZodString;
115
+ data: z.ZodOptional<z.ZodAny>;
116
+ errors: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
117
+ }, "strip", z.ZodTypeAny, {
118
+ message: string;
119
+ success: boolean;
120
+ data?: any;
121
+ errors?: string[] | undefined;
122
+ }, {
123
+ message: string;
124
+ success: boolean;
125
+ data?: any;
126
+ errors?: string[] | undefined;
127
+ }>;
128
+ export type EncryptSchemaType = z.infer<typeof encryptSchema>;
129
+ export type DecryptSchemaType = z.infer<typeof decryptSchema>;
130
+ export type CreateSchemaType = z.infer<typeof createSchema>;
131
+ export type InteractiveSchemaType = z.infer<typeof interactiveSchema>;
132
+ export type StageSecretSchemaType = z.infer<typeof stageSecretSchema>;
133
+ export type EnvrcConfigSchemaType = z.infer<typeof envrcConfigSchema>;
134
+ export type FileOperationSchemaType = z.infer<typeof fileOperationSchema>;
135
+ export type CommandResultSchemaType = z.infer<typeof commandResultSchema>;
136
+ export declare const validateSchema: <T>(schema: z.ZodSchema<T>, data: unknown) => T;
137
+ export declare const validateOptions: (data: unknown) => {
138
+ cwd?: string | undefined;
139
+ environment?: string | undefined;
140
+ passphrase?: string | undefined;
141
+ secret?: string | undefined;
142
+ interactive?: boolean | undefined;
143
+ generate?: boolean | undefined;
144
+ stage?: string | undefined;
145
+ };
146
+ export declare const validateEncryptOptions: (data: unknown) => {
147
+ environment: string;
148
+ passphrase: string;
149
+ cwd?: string | undefined;
150
+ secret?: string | undefined;
151
+ };
152
+ export declare const validateDecryptOptions: (data: unknown) => {
153
+ environment: string;
154
+ passphrase: string;
155
+ cwd?: string | undefined;
156
+ secret?: string | undefined;
157
+ };
158
+ export declare const validateCreateOptions: (data: unknown) => {
159
+ environment: string;
160
+ cwd?: string | undefined;
161
+ template?: string | undefined;
162
+ };
163
+ export declare const validateInteractiveOptions: (data: unknown) => {
164
+ cwd?: string | undefined;
165
+ overwrite?: boolean | undefined;
166
+ };
167
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;EAQ5B,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAKxB,CAAC;AAEH,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;EAKxB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;EAIvB,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;EAG5B,CAAC;AAEH,eAAO,MAAM,iBAAiB;;;;;;;;;;;;EAI5B,CAAC;AAEH,eAAO,MAAM,iBAAiB,uCAAmC,CAAC;AAElE,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;EAK9B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,YAAY,CAAC,CAAC;AAC5D,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC;AACtE,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAC1E,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC;AAG1E,eAAO,MAAM,cAAc,GAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,MAAM,OAAO,KAAG,CAYzE,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,MAAM,OAAO;;;;;;;;CACJ,CAAC;AAC1C,eAAO,MAAM,sBAAsB,GAAI,MAAM,OAAO;;;;;CACf,CAAC;AACtC,eAAO,MAAM,sBAAsB,GAAI,MAAM,OAAO;;;;;CACf,CAAC;AACtC,eAAO,MAAM,qBAAqB,GAAI,MAAM,OAAO;;;;CACf,CAAC;AACrC,eAAO,MAAM,0BAA0B,GAAI,MAAM,OAAO;;;CACf,CAAC"}
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateInteractiveOptions = exports.validateCreateOptions = exports.validateDecryptOptions = exports.validateEncryptOptions = exports.validateOptions = exports.validateSchema = exports.commandResultSchema = exports.fileOperationSchema = exports.envrcConfigSchema = exports.stageSecretSchema = exports.interactiveSchema = exports.createSchema = exports.decryptSchema = exports.encryptSchema = exports.baseOptionsSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ exports.baseOptionsSchema = zod_1.z.object({
6
+ cwd: zod_1.z.string().optional(),
7
+ environment: zod_1.z.string().optional(),
8
+ passphrase: zod_1.z.string().optional(),
9
+ secret: zod_1.z.string().optional(),
10
+ interactive: zod_1.z.boolean().optional(),
11
+ generate: zod_1.z.boolean().optional(),
12
+ stage: zod_1.z.string().optional(),
13
+ });
14
+ exports.encryptSchema = zod_1.z.object({
15
+ environment: zod_1.z.string().min(1, "Environment is required"),
16
+ passphrase: zod_1.z.string().min(1, "Passphrase is required"),
17
+ cwd: zod_1.z.string().optional(),
18
+ secret: zod_1.z.string().optional(),
19
+ });
20
+ exports.decryptSchema = zod_1.z.object({
21
+ environment: zod_1.z.string().min(1, "Environment is required"),
22
+ passphrase: zod_1.z.string().min(1, "Passphrase is required"),
23
+ cwd: zod_1.z.string().optional(),
24
+ secret: zod_1.z.string().optional(),
25
+ });
26
+ exports.createSchema = zod_1.z.object({
27
+ environment: zod_1.z.string().min(1, "Environment is required"),
28
+ template: zod_1.z.string().optional(),
29
+ cwd: zod_1.z.string().optional(),
30
+ });
31
+ exports.interactiveSchema = zod_1.z.object({
32
+ overwrite: zod_1.z.boolean().optional(),
33
+ cwd: zod_1.z.string().optional(),
34
+ });
35
+ exports.stageSecretSchema = zod_1.z.object({
36
+ stage: zod_1.z.string().min(1, "Stage is required"),
37
+ secret: zod_1.z.string().min(1, "Secret is required"),
38
+ variableName: zod_1.z.string().min(1, "Variable name is required"),
39
+ });
40
+ exports.envrcConfigSchema = zod_1.z.record(zod_1.z.string(), zod_1.z.string());
41
+ exports.fileOperationSchema = zod_1.z.object({
42
+ success: zod_1.z.boolean(),
43
+ message: zod_1.z.string(),
44
+ filePath: zod_1.z.string().optional(),
45
+ error: zod_1.z.instanceof(Error).optional(),
46
+ });
47
+ exports.commandResultSchema = zod_1.z.object({
48
+ success: zod_1.z.boolean(),
49
+ message: zod_1.z.string(),
50
+ data: zod_1.z.any().optional(),
51
+ errors: zod_1.z.array(zod_1.z.string()).optional(),
52
+ });
53
+ const validateSchema = (schema, data) => {
54
+ try {
55
+ return schema.parse(data);
56
+ }
57
+ catch (error) {
58
+ if (error instanceof zod_1.z.ZodError) {
59
+ const errorMessages = error.issues.map((err) => `${err.path.join(".")}: ${err.message}`);
60
+ throw new Error(`Validation failed:\n${errorMessages.join("\n")}`);
61
+ }
62
+ throw error;
63
+ }
64
+ };
65
+ exports.validateSchema = validateSchema;
66
+ const validateOptions = (data) => (0, exports.validateSchema)(exports.baseOptionsSchema, data);
67
+ exports.validateOptions = validateOptions;
68
+ const validateEncryptOptions = (data) => (0, exports.validateSchema)(exports.encryptSchema, data);
69
+ exports.validateEncryptOptions = validateEncryptOptions;
70
+ const validateDecryptOptions = (data) => (0, exports.validateSchema)(exports.decryptSchema, data);
71
+ exports.validateDecryptOptions = validateDecryptOptions;
72
+ const validateCreateOptions = (data) => (0, exports.validateSchema)(exports.createSchema, data);
73
+ exports.validateCreateOptions = validateCreateOptions;
74
+ const validateInteractiveOptions = (data) => (0, exports.validateSchema)(exports.interactiveSchema, data);
75
+ exports.validateInteractiveOptions = validateInteractiveOptions;
76
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schemas/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ export interface CliOptions {
2
+ environment?: string;
3
+ passphrase?: string;
4
+ secret?: string;
5
+ cwd?: string;
6
+ interactive?: boolean;
7
+ generate?: boolean;
8
+ stage?: string;
9
+ }
10
+ export interface EncryptOptions extends CliOptions {
11
+ environment: string;
12
+ passphrase: string;
13
+ }
14
+ export interface DecryptOptions extends CliOptions {
15
+ environment: string;
16
+ passphrase: string;
17
+ }
18
+ export interface CreateOptions extends CliOptions {
19
+ environment: string;
20
+ template?: string;
21
+ }
22
+ export interface InteractiveOptions extends CliOptions {
23
+ overwrite?: boolean;
24
+ }
25
+ export interface EnvFile {
26
+ path: string;
27
+ stage: string;
28
+ encrypted: boolean;
29
+ exists: boolean;
30
+ }
31
+ export interface StageSecret {
32
+ stage: string;
33
+ secret: string;
34
+ variableName: string;
35
+ }
36
+ export interface EnvrcConfig {
37
+ [key: string]: string;
38
+ }
39
+ export type SupportedStage = 'local' | 'development' | 'staging' | 'production' | string;
40
+ export interface CliContext {
41
+ cwd: string;
42
+ stages: string[];
43
+ envrcPath: string;
44
+ envrcExists: boolean;
45
+ secrets: StageSecret[];
46
+ }
47
+ export interface ValidationResult {
48
+ isValid: boolean;
49
+ errors: string[];
50
+ data?: any;
51
+ }
52
+ export interface FileOperationResult {
53
+ success: boolean;
54
+ message: string;
55
+ filePath?: string;
56
+ error?: Error;
57
+ }
58
+ export interface CommandResult {
59
+ success: boolean;
60
+ message: string;
61
+ data?: any;
62
+ errors?: string[];
63
+ }
64
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,UAAU;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,WAAW;IAC1B,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,aAAa,GAAG,SAAS,GAAG,YAAY,GAAG,MAAM,CAAC;AAEzF,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;IACrB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,IAAI,CAAC,EAAE,GAAG,CAAC;CACZ;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":""}