envx-cli 1.3.0 → 1.4.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/README.md CHANGED
@@ -22,6 +22,7 @@ Environment file encryption and management tool for secure development workflows
22
22
  - [envx copy](#envx-copy)
23
23
  - [envx status](#envx-status)
24
24
  - [envx config](#envx-config)
25
+ - [envx run](#envx-run)
25
26
  - [Configuration](#configuration)
26
27
  - [.envrc File](#envrc-file)
27
28
  - [.envxrc File (Project Config)](#envxrc-file-project-config)
@@ -425,14 +426,106 @@ Remove a pattern from the ignore list.
425
426
  envx config ignore remove test
426
427
  ```
427
428
 
429
+ #### `envx config exclude list`
430
+
431
+ List all excluded directories (from `.envxrc` or defaults). These directories are skipped during environment file discovery, which is useful in monorepos and projects with build artifacts.
432
+
433
+ ```bash
434
+ envx config exclude list
435
+ ```
436
+
437
+ #### `envx config exclude add <dir>`
438
+
439
+ Add a directory to the exclusion list.
440
+
441
+ ```bash
442
+ # Exclude Vercel build output
443
+ envx config exclude add .vercel
444
+
445
+ # Exclude a custom build directory
446
+ envx config exclude add out
447
+ ```
448
+
449
+ #### `envx config exclude remove <dir>`
450
+
451
+ Remove a directory from the exclusion list.
452
+
453
+ ```bash
454
+ envx config exclude remove build
455
+ ```
456
+
428
457
  #### `envx config reset`
429
458
 
430
- Reset the configuration to defaults, removing all custom ignore patterns.
459
+ Reset the configuration to defaults, removing all custom ignore patterns and directory exclusions.
431
460
 
432
461
  ```bash
433
462
  envx config reset
434
463
  ```
435
464
 
465
+ ### `envx run`
466
+
467
+ Decrypts an env file **in memory** and runs a command with those variables injected into its environment. Inspired by `dotenvx run`.
468
+
469
+ **The defining property: plaintext secrets never touch the disk.** Decryption happens in-process; the decrypted content is parsed in memory and passed to the spawned sub-process via its environment. When the sub-process exits, the plaintext is gone.
470
+
471
+ #### Usage
472
+
473
+ ```bash
474
+ envx run [options] -- <command> [args...]
475
+ ```
476
+
477
+ The `--` separator is recommended — everything after it is passed literally to the sub-process.
478
+
479
+ #### Options
480
+
481
+ | Flag | Description |
482
+ | ------------------------------- | ----------------------------------------------------------------------------------------------------------------- |
483
+ | `-e, --environment <stage>` | Stage to load. Resolves to `<cwd>/.env.<stage>.gpg` (preferred) or `<cwd>/.env.<stage>`. cwd-only — no recursion. |
484
+ | `-f, --env-file <path>` | Explicit env file (repeatable). Encryption auto-detected by `.gpg` extension. |
485
+ | `--env <KEY=VAL>` | Inline override (repeatable). Wins over file values (subject to `--overload`). |
486
+ | `-p, --passphrase <passphrase>` | GPG passphrase. Only used when any source is encrypted. Falls back to `.envrc` then interactive prompt. |
487
+ | `-c, --cwd <path>` | Working directory for file resolution and the sub-process (default: `process.cwd()`). |
488
+ | `--overload` | Let files and inline overrides beat existing `process.env` values. |
489
+ | `--dry-run` | Print resolved source list and injected key names, then exit. Never prints values. |
490
+
491
+ #### Examples
492
+
493
+ ```bash
494
+ # Run a node server with production secrets
495
+ envx run -e production -- node server.js
496
+
497
+ # Dev mode from a plain file
498
+ envx run -f .env.local -- npm run dev
499
+
500
+ # Multiple files — later wins
501
+ envx run -f .env -f .env.local -- vitest
502
+
503
+ # Stage plus an inline override
504
+ envx run -e staging --env LOG_LEVEL=debug -- npm test
505
+
506
+ # Stage plus an extra file to override select keys
507
+ envx run -e production -f .env.overrides --overload -- npm start
508
+
509
+ # Inspect what would be injected without running anything
510
+ envx run -e production --dry-run -- npm start
511
+ ```
512
+
513
+ #### Precedence rules
514
+
515
+ `envx run` uses dotenvx-style precedence by default:
516
+
517
+ 1. **`process.env` wins over file values** unless you pass `--overload`. This makes it safe to invoke from a shell that already has some variables set (`NODE_ENV`, `PATH`, etc.) — they won't be silently overwritten by file contents.
518
+ 2. **Within the source list**, later sources override earlier ones. The order is: stage (`-e`) → files (`-f`, in argv order) → inline (`--env`, in argv order). Inline overrides always sit last and therefore beat file values.
519
+ 3. **When both `.env.<stage>` and `.env.<stage>.gpg` exist**, the encrypted file wins. The encrypted file is the source of truth; the plain file is a working copy.
520
+ 4. **`${VAR}` expansion** inside env values is supported via `dotenv-expand`. References resolve against the current file's own keys plus `process.env` at parse time. Command substitution (`$(...)`) is NOT supported.
521
+
522
+ #### Security notes
523
+
524
+ - The spawn helper uses `shell: false`, so argv values are passed literally to the underlying executable. Shell features (`$VAR`, `&&`, `|`, globs) are **not** interpreted in argv. Users who need shell features must wrap their command explicitly: `envx run -e prod -- sh -c 'cmd1 && cmd2'`.
525
+ - The `--dry-run` output contains key names only — never values. It's safe to paste into issues or logs.
526
+ - On decryption failure (wrong passphrase, corrupt file), `envx run` exits with a non-zero code and **does not** fall back to a plain `.env.<stage>` file if one exists. Encrypted-wins means encrypted is the source of truth; silent fallback would hide bugs.
527
+ - The sub-process's exit code propagates back. If `npm test` exits 1, `envx run -e test -- npm test` also exits 1.
528
+
436
529
  ## Configuration
437
530
 
438
531
  ### `.envrc` File
@@ -453,16 +546,18 @@ EnvX supports a `.envxrc` JSON file in your project root for per-project configu
453
546
  ```json
454
547
  {
455
548
  "ignore": ["example", "sample", "template", "local-dev"],
456
- "environments": ["development", "staging", "production"]
549
+ "environments": ["development", "staging", "production"],
550
+ "excludeDirs": ["node_modules", ".git", "dist", ".next", ".turbo", "build"]
457
551
  }
458
552
  ```
459
553
 
460
554
  **Fields:**
461
555
 
462
- | Field | Type | Description |
463
- | -------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
464
- | `ignore` | `string[]` | Patterns to exclude from environment discovery. Environments whose names match any pattern (case-insensitive) are filtered from `--all`, `list`, and `status` operations. Defaults to `["example", "sample", "template"]` if not set. |
465
- | `environments` | `string[]` | List of managed environments. Set during `envx init` based on your selection. |
556
+ | Field | Type | Description |
557
+ | -------------- | ---------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
558
+ | `ignore` | `string[]` | Patterns to exclude from environment discovery. Environments whose names match any pattern (case-insensitive) are filtered from `--all`, `list`, and `status` operations. Defaults to `["example", "sample", "template"]` if not set. |
559
+ | `environments` | `string[]` | List of managed environments. Set during `envx init` based on your selection. |
560
+ | `excludeDirs` | `string[]` | Directories to exclude from file discovery. Prevents scanning into build artifacts and dependency directories. Defaults to `["node_modules", ".git", "dist", ".next", ".turbo", ".output", ".nuxt", ".cache", "build", "coverage", ".svelte-kit"]`. |
466
561
 
467
562
  You can manage this file through the CLI:
468
563
 
@@ -476,6 +571,12 @@ envx config ignore add test
476
571
  # Remove a pattern
477
572
  envx config ignore remove sample
478
573
 
574
+ # Add a directory exclusion
575
+ envx config exclude add .vercel
576
+
577
+ # Remove a directory exclusion
578
+ envx config exclude remove build
579
+
479
580
  # Reset to defaults
480
581
  envx config reset
481
582
  ```
@@ -525,6 +626,25 @@ envx config ignore list
525
626
 
526
627
  **Bypass filtering:** Pass an explicit empty ignore list programmatically via `findAllEnvironments(cwd, [])` to include all environments.
527
628
 
629
+ #### Directory Exclusion (Monorepo Support)
630
+
631
+ EnvX automatically excludes build artifact and dependency directories from file discovery. This prevents `.env.*` files duplicated inside `node_modules`, `.next`, `dist`, `.turbo`, and other directories from appearing as spurious results.
632
+
633
+ **Default excluded directories:** `node_modules`, `.git`, `dist`, `.next`, `.turbo`, `.output`, `.nuxt`, `.cache`, `build`, `coverage`, `.svelte-kit`
634
+
635
+ **Customizing exclusions:**
636
+
637
+ ```bash
638
+ # View current exclusions
639
+ envx config exclude list
640
+
641
+ # Add a directory
642
+ envx config exclude add .vercel
643
+
644
+ # Remove a directory (e.g., to scan build output)
645
+ envx config exclude remove build
646
+ ```
647
+
528
648
  ### File Structure
529
649
 
530
650
  ```
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,mBAAmB,QAAO,OAmFtC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,mBAAmB,QAAO,OAoItC,CAAC"}
@@ -65,6 +65,48 @@ const createConfigCommand = () => {
65
65
  process.exit(types_1.ExitCode.GENERAL_ERROR);
66
66
  }
67
67
  });
68
+ const exclude = config
69
+ .command('exclude')
70
+ .description('Manage excluded directories');
71
+ exclude
72
+ .command('list')
73
+ .description('List excluded directories')
74
+ .option('-c, --cwd <path>', 'Working directory path')
75
+ .action(async (options) => {
76
+ try {
77
+ await executeExcludeList(options);
78
+ }
79
+ catch (error) {
80
+ exec_1.CliUtils.error(`Config exclude list failed: ${error instanceof Error ? error.message : String(error)}`);
81
+ process.exit(types_1.ExitCode.GENERAL_ERROR);
82
+ }
83
+ });
84
+ exclude
85
+ .command('add <dir>')
86
+ .description('Add a directory to the exclusion list')
87
+ .option('-c, --cwd <path>', 'Working directory path')
88
+ .action(async (dir, options) => {
89
+ try {
90
+ await executeExcludeAdd(dir, options);
91
+ }
92
+ catch (error) {
93
+ exec_1.CliUtils.error(`Config exclude add failed: ${error instanceof Error ? error.message : String(error)}`);
94
+ process.exit(types_1.ExitCode.GENERAL_ERROR);
95
+ }
96
+ });
97
+ exclude
98
+ .command('remove <dir>')
99
+ .description('Remove a directory from the exclusion list')
100
+ .option('-c, --cwd <path>', 'Working directory path')
101
+ .action(async (dir, options) => {
102
+ try {
103
+ await executeExcludeRemove(dir, options);
104
+ }
105
+ catch (error) {
106
+ exec_1.CliUtils.error(`Config exclude remove failed: ${error instanceof Error ? error.message : String(error)}`);
107
+ process.exit(types_1.ExitCode.GENERAL_ERROR);
108
+ }
109
+ });
68
110
  config
69
111
  .command('reset')
70
112
  .description('Reset .envxrc to default configuration')
@@ -89,6 +131,7 @@ async function executeConfigShow(options) {
89
131
  exec_1.CliUtils.info('No .envxrc found — using default configuration.');
90
132
  console.log();
91
133
  console.log(`Default ignore patterns: ${file_1.FileUtils.DEFAULT_IGNORE_PATTERNS.map(p => chalk_1.default.gray(p)).join(', ')}`);
134
+ console.log(`Default excluded dirs: ${file_1.FileUtils.DEFAULT_EXCLUDE_DIRS.map(d => chalk_1.default.gray(d)).join(', ')}`);
92
135
  return;
93
136
  }
94
137
  if (config.ignore && config.ignore.length > 0) {
@@ -97,6 +140,12 @@ async function executeConfigShow(options) {
97
140
  else {
98
141
  console.log('Ignore patterns: (none)');
99
142
  }
143
+ if (config.excludeDirs && config.excludeDirs.length > 0) {
144
+ console.log(`Excluded dirs: ${config.excludeDirs.map(d => chalk_1.default.yellow(d)).join(', ')}`);
145
+ }
146
+ else {
147
+ console.log(`Excluded dirs: (defaults) ${file_1.FileUtils.DEFAULT_EXCLUDE_DIRS.map(d => chalk_1.default.gray(d)).join(', ')}`);
148
+ }
100
149
  if (config.environments && config.environments.length > 0) {
101
150
  console.log(`Managed environments: ${config.environments.map(e => chalk_1.default.cyan(e)).join(', ')}`);
102
151
  }
@@ -156,10 +205,66 @@ async function executeIgnoreRemove(pattern, options) {
156
205
  exec_1.CliUtils.error(`Failed to update config: ${result.message}`);
157
206
  }
158
207
  }
208
+ async function executeExcludeList(options) {
209
+ const cwd = options.cwd || exec_1.ExecUtils.getCurrentDir();
210
+ const dirs = await file_1.FileUtils.getExcludeDirs(cwd);
211
+ exec_1.CliUtils.header('Excluded Directories');
212
+ if (dirs.length === 0) {
213
+ exec_1.CliUtils.info('No excluded directories configured.');
214
+ return;
215
+ }
216
+ const config = await file_1.FileUtils.readEnvxrc(cwd);
217
+ const isDefault = !config.excludeDirs;
218
+ if (isDefault) {
219
+ exec_1.CliUtils.info('Using default directories:');
220
+ }
221
+ for (const dir of dirs) {
222
+ console.log(` • ${chalk_1.default.yellow(dir)}`);
223
+ }
224
+ }
225
+ async function executeExcludeAdd(dir, options) {
226
+ const cwd = options.cwd || exec_1.ExecUtils.getCurrentDir();
227
+ const current = await file_1.FileUtils.getExcludeDirs(cwd);
228
+ if (current.some(d => d.toLowerCase() === dir.toLowerCase())) {
229
+ exec_1.CliUtils.warning(`Directory '${dir}' is already in the exclusion list.`);
230
+ return;
231
+ }
232
+ const newExcludeDirs = [...current, dir];
233
+ const result = await file_1.FileUtils.mergeEnvxrc(cwd, {
234
+ excludeDirs: newExcludeDirs,
235
+ });
236
+ if (result.success) {
237
+ exec_1.CliUtils.success(`Added '${dir}' to excluded directories.`);
238
+ }
239
+ else {
240
+ exec_1.CliUtils.error(`Failed to update config: ${result.message}`);
241
+ }
242
+ }
243
+ async function executeExcludeRemove(dir, options) {
244
+ const cwd = options.cwd || exec_1.ExecUtils.getCurrentDir();
245
+ const current = await file_1.FileUtils.getExcludeDirs(cwd);
246
+ const index = current.findIndex(d => d.toLowerCase() === dir.toLowerCase());
247
+ if (index === -1) {
248
+ exec_1.CliUtils.warning(`Directory '${dir}' is not in the exclusion list.`);
249
+ return;
250
+ }
251
+ const newExcludeDirs = [...current];
252
+ newExcludeDirs.splice(index, 1);
253
+ const result = await file_1.FileUtils.mergeEnvxrc(cwd, {
254
+ excludeDirs: newExcludeDirs,
255
+ });
256
+ if (result.success) {
257
+ exec_1.CliUtils.success(`Removed '${dir}' from excluded directories.`);
258
+ }
259
+ else {
260
+ exec_1.CliUtils.error(`Failed to update config: ${result.message}`);
261
+ }
262
+ }
159
263
  async function executeConfigReset(options) {
160
264
  const cwd = options.cwd || exec_1.ExecUtils.getCurrentDir();
161
265
  const result = await file_1.FileUtils.writeEnvxrc(cwd, {
162
266
  ignore: [...file_1.FileUtils.DEFAULT_IGNORE_PATTERNS],
267
+ excludeDirs: [...file_1.FileUtils.DEFAULT_EXCLUDE_DIRS],
163
268
  });
164
269
  if (result.success) {
165
270
  exec_1.CliUtils.success('Reset .envxrc to default configuration.');
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/commands/config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { Command } from 'commander';
2
+ export type RawSource = {
3
+ kind: 'stage';
4
+ stage: string;
5
+ } | {
6
+ kind: 'file';
7
+ path: string;
8
+ } | {
9
+ kind: 'inline';
10
+ key: string;
11
+ value: string;
12
+ };
13
+ export type LoadedSource = {
14
+ origin: string;
15
+ encrypted: boolean;
16
+ values: Record<string, string>;
17
+ };
18
+ type RawRunOptions = any;
19
+ export declare function parseInlineEnv(input: string): {
20
+ key: string;
21
+ value: string;
22
+ };
23
+ export declare function collectRawSources(opts: RawRunOptions): RawSource[];
24
+ export declare function mergeEnv(loadedSources: LoadedSource[], parentEnv: Record<string, string | undefined>, overload: boolean): Record<string, string>;
25
+ export declare function formatDryRun(loadedSources: LoadedSource[], finalKeys: string[], overload: boolean, commandArgs: string[]): string;
26
+ export declare const createRunCommand: () => Command;
27
+ export declare function executeRun(rawOptions: RawRunOptions, childArgs: string[]): Promise<void>;
28
+ export {};
29
+ //# sourceMappingURL=run.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.d.ts","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,MAAM,SAAS,GACjB;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAChC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAKnD,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChC,CAAC;AAGF,KAAK,aAAa,GAAG,GAAG,CAAC;AASzB,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAS5E;AAMD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,EAAE,CAqBlE;AAMD,wBAAgB,QAAQ,CACtB,aAAa,EAAE,YAAY,EAAE,EAC7B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,EAC7C,QAAQ,EAAE,OAAO,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAwBxB;AAKD,wBAAgB,YAAY,CAC1B,aAAa,EAAE,YAAY,EAAE,EAC7B,SAAS,EAAE,MAAM,EAAE,EACnB,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,CA6BR;AAgBD,eAAO,MAAM,gBAAgB,QAAO,OAqDnC,CAAC;AAkBF,wBAAsB,UAAU,CAC9B,UAAU,EAAE,aAAa,EACzB,SAAS,EAAE,MAAM,EAAE,GAClB,OAAO,CAAC,IAAI,CAAC,CA4Jf"}
@@ -0,0 +1,241 @@
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.createRunCommand = void 0;
7
+ exports.parseInlineEnv = parseInlineEnv;
8
+ exports.collectRawSources = collectRawSources;
9
+ exports.mergeEnv = mergeEnv;
10
+ exports.formatDryRun = formatDryRun;
11
+ exports.executeRun = executeRun;
12
+ const commander_1 = require("commander");
13
+ const path_1 = __importDefault(require("path"));
14
+ const schemas_1 = require("../schemas");
15
+ const types_1 = require("../types");
16
+ const exec_1 = require("../utils/exec");
17
+ const file_1 = require("../utils/file");
18
+ const interactive_1 = require("../utils/interactive");
19
+ function parseInlineEnv(input) {
20
+ const eq = input.indexOf('=');
21
+ if (eq <= 0) {
22
+ throw new Error(`--env requires KEY=VALUE format, got: ${input}`);
23
+ }
24
+ return {
25
+ key: input.slice(0, eq),
26
+ value: input.slice(eq + 1),
27
+ };
28
+ }
29
+ function collectRawSources(opts) {
30
+ const sources = [];
31
+ if (opts.environment) {
32
+ sources.push({ kind: 'stage', stage: String(opts.environment) });
33
+ }
34
+ if (Array.isArray(opts.envFile)) {
35
+ for (const p of opts.envFile) {
36
+ sources.push({ kind: 'file', path: String(p) });
37
+ }
38
+ }
39
+ if (Array.isArray(opts.env)) {
40
+ for (const kv of opts.env) {
41
+ const { key, value } = parseInlineEnv(String(kv));
42
+ sources.push({ kind: 'inline', key, value });
43
+ }
44
+ }
45
+ return sources;
46
+ }
47
+ function mergeEnv(loadedSources, parentEnv, overload) {
48
+ const fromSources = {};
49
+ for (const source of loadedSources) {
50
+ Object.assign(fromSources, source.values);
51
+ }
52
+ const finalEnv = {};
53
+ for (const [k, v] of Object.entries(parentEnv)) {
54
+ if (typeof v === 'string') {
55
+ finalEnv[k] = v;
56
+ }
57
+ }
58
+ if (overload) {
59
+ Object.assign(finalEnv, fromSources);
60
+ }
61
+ else {
62
+ for (const [k, v] of Object.entries(fromSources)) {
63
+ if (!(k in finalEnv)) {
64
+ finalEnv[k] = v;
65
+ }
66
+ }
67
+ }
68
+ return finalEnv;
69
+ }
70
+ function formatDryRun(loadedSources, finalKeys, overload, commandArgs) {
71
+ const lines = [];
72
+ lines.push('Sources (in merge order, lowest → highest priority):');
73
+ if (loadedSources.length === 0) {
74
+ lines.push(' (none)');
75
+ }
76
+ else {
77
+ loadedSources.forEach((source, i) => {
78
+ const kind = source.encrypted ? 'encrypted' : 'plain';
79
+ const n = Object.keys(source.values).length;
80
+ lines.push(` ${i + 1}. ${source.origin} (${kind}, ${n} keys)`);
81
+ });
82
+ }
83
+ lines.push(overload
84
+ ? 'files+inline win on conflict (--overload)'
85
+ : 'process.env wins on conflict (no --overload)');
86
+ const sortedKeys = [...finalKeys].sort();
87
+ lines.push(`Would inject ${sortedKeys.length} unique key(s):`);
88
+ for (const k of sortedKeys) {
89
+ lines.push(` ${k}`);
90
+ }
91
+ lines.push(`Would run: ${commandArgs.join(' ')}`);
92
+ return lines.join('\n');
93
+ }
94
+ const collect = () => (value, previous) => {
95
+ if (Array.isArray(previous)) {
96
+ return [...previous, value];
97
+ }
98
+ return [value];
99
+ };
100
+ const createRunCommand = () => {
101
+ const command = new commander_1.Command('run');
102
+ command
103
+ .description('Decrypt an env file in memory and run a command with it injected')
104
+ .option('-e, --environment <stage>', 'Stage to load (resolves to .env.<stage>[.gpg] in cwd)')
105
+ .option('-f, --env-file <path>', 'Explicit env file (repeatable). .gpg suffix triggers decryption.', collect(), [])
106
+ .option('--env <KEY=VAL>', 'Inline override; wins over files (use --overload to also override process.env) (repeatable)', collect(), [])
107
+ .option('-p, --passphrase <passphrase>', 'GPG passphrase (encrypted sources)')
108
+ .option('-c, --cwd <path>', 'Working directory (default: process.cwd())')
109
+ .option('--overload', 'Let files+inline override existing process.env values')
110
+ .option('--dry-run', 'Print what would be injected without running the command')
111
+ .allowUnknownOption(true)
112
+ .allowExcessArguments(true)
113
+ .passThroughOptions()
114
+ .action(async (options, cmd) => {
115
+ try {
116
+ await executeRun(options, cmd.args);
117
+ }
118
+ catch (error) {
119
+ exec_1.CliUtils.error(`Run failed: ${error instanceof Error ? error.message : String(error)}`);
120
+ const exit = error.exitCode ?? types_1.ExitCode.GENERAL_ERROR;
121
+ process.exit(exit);
122
+ }
123
+ });
124
+ return command;
125
+ };
126
+ exports.createRunCommand = createRunCommand;
127
+ class RunError extends Error {
128
+ constructor(message, exitCode) {
129
+ super(message);
130
+ this.exitCode = exitCode;
131
+ }
132
+ }
133
+ async function executeRun(rawOptions, childArgs) {
134
+ (0, schemas_1.validateRunOptions)(rawOptions);
135
+ const cwd = rawOptions.cwd
136
+ ? path_1.default.resolve(rawOptions.cwd)
137
+ : exec_1.ExecUtils.getCurrentDir();
138
+ const rawSources = collectRawSources(rawOptions);
139
+ if (rawSources.length === 0) {
140
+ throw new RunError('At least one of --environment, --env-file, or --env is required', types_1.ExitCode.INVALID_ARGS);
141
+ }
142
+ if (childArgs.length === 0) {
143
+ throw new RunError('No command specified. Usage: envx run [options] -- <command>', types_1.ExitCode.INVALID_ARGS);
144
+ }
145
+ const resolved = [];
146
+ for (const raw of rawSources) {
147
+ if (raw.kind === 'stage') {
148
+ const file = await file_1.FileUtils.resolveStageFile(raw.stage, cwd);
149
+ if (!file) {
150
+ throw new RunError(`No env file found for stage '${raw.stage}' in ${cwd}. Looked for .env.${raw.stage}.gpg and .env.${raw.stage}`, types_1.ExitCode.FILE_ERROR);
151
+ }
152
+ resolved.push({
153
+ kind: 'file',
154
+ origin: path_1.default.relative(cwd, file.path) || path_1.default.basename(file.path),
155
+ path: file.path,
156
+ encrypted: file.encrypted,
157
+ });
158
+ }
159
+ else if (raw.kind === 'file') {
160
+ const abs = path_1.default.resolve(cwd, raw.path);
161
+ if (!(await file_1.FileUtils.fileExists(abs))) {
162
+ throw new RunError(`Env file not found: ${abs}`, types_1.ExitCode.FILE_ERROR);
163
+ }
164
+ resolved.push({
165
+ kind: 'file',
166
+ origin: path_1.default.relative(cwd, abs) || path_1.default.basename(abs),
167
+ path: abs,
168
+ encrypted: abs.endsWith('.gpg'),
169
+ });
170
+ }
171
+ else {
172
+ resolved.push({
173
+ kind: 'inline',
174
+ origin: '--env',
175
+ values: { [raw.key]: raw.value },
176
+ });
177
+ }
178
+ }
179
+ const hasEncrypted = resolved.some(r => r.kind === 'file' && r.encrypted);
180
+ let passphrase;
181
+ if (hasEncrypted) {
182
+ if (rawOptions.passphrase) {
183
+ passphrase = String(rawOptions.passphrase);
184
+ }
185
+ else {
186
+ const envrc = await file_1.FileUtils.readEnvrc(cwd);
187
+ const stageSource = rawSources.find((r) => r.kind === 'stage');
188
+ if (stageSource) {
189
+ const varName = file_1.FileUtils.generateSecretVariableName(stageSource.stage);
190
+ if (envrc[varName]) {
191
+ passphrase = envrc[varName];
192
+ }
193
+ }
194
+ if (!passphrase) {
195
+ passphrase = await interactive_1.InteractiveUtils.promptPassphrase('Enter GPG passphrase:');
196
+ }
197
+ }
198
+ }
199
+ const loadedSources = [];
200
+ for (const r of resolved) {
201
+ if (r.kind === 'inline') {
202
+ loadedSources.push({
203
+ origin: r.origin,
204
+ encrypted: false,
205
+ values: r.values,
206
+ });
207
+ continue;
208
+ }
209
+ try {
210
+ const values = await file_1.FileUtils.loadEnvSource({ path: r.path, encrypted: r.encrypted }, passphrase);
211
+ loadedSources.push({
212
+ origin: r.origin,
213
+ encrypted: r.encrypted,
214
+ values,
215
+ });
216
+ }
217
+ catch (err) {
218
+ throw new RunError(err instanceof Error ? err.message : String(err), types_1.ExitCode.GPG_ERROR);
219
+ }
220
+ }
221
+ const finalEnv = mergeEnv(loadedSources, process.env, !!rawOptions.overload);
222
+ if (rawOptions.dryRun) {
223
+ const injectedKeys = new Set();
224
+ for (const s of loadedSources) {
225
+ for (const k of Object.keys(s.values)) {
226
+ injectedKeys.add(k);
227
+ }
228
+ }
229
+ console.log(formatDryRun([...loadedSources], [...injectedKeys], !!rawOptions.overload, childArgs));
230
+ return;
231
+ }
232
+ let exitCode;
233
+ try {
234
+ exitCode = await exec_1.ExecUtils.spawnChildWithEnv(childArgs, finalEnv, cwd);
235
+ }
236
+ catch (err) {
237
+ throw new RunError(err instanceof Error ? err.message : String(err), types_1.ExitCode.GENERAL_ERROR);
238
+ }
239
+ process.exit(exitCode);
240
+ }
241
+ //# sourceMappingURL=run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"run.js","sourceRoot":"","sources":["../../src/commands/run.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmBpC,iBAAe,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAwG/C;AAyVD,OAAO,EAAE,aAAa,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAoBpC,iBAAe,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CA0G/C;AAyVD,OAAO,EAAE,aAAa,EAAE,CAAC"}