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 +126 -6
- package/dist/commands/config.d.ts.map +1 -1
- package/dist/commands/config.js +105 -0
- package/dist/commands/config.js.map +1 -1
- package/dist/commands/run.d.ts +29 -0
- package/dist/commands/run.d.ts.map +1 -0
- package/dist/commands/run.js +241 -0
- package/dist/commands/run.js.map +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/schemas/index.d.ts +38 -0
- package/dist/schemas/index.d.ts.map +1 -1
- package/dist/schemas/index.js +13 -1
- package/dist/schemas/index.js.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js.map +1 -1
- package/dist/utils/exec.d.ts +8 -0
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +120 -4
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/file.d.ts +11 -0
- package/dist/utils/file.d.ts.map +1 -1
- package/dist/utils/file.js +94 -3
- package/dist/utils/file.js.map +1 -1
- package/package.json +3 -1
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,
|
|
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"}
|
package/dist/commands/config.js
CHANGED
|
@@ -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":";;;;;;AAAA,kDAA0B;AAC1B,yCAAoC;AACpC,oCAAoC;AACpC,wCAAoD;AACpD,wCAA0C;AAEnC,MAAM,mBAAmB,GAAG,GAAY,EAAE;IAC/C,MAAM,MAAM,GAAG,IAAI,mBAAO,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC;IAEnD,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;SACpD,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAQ,CAAC,KAAK,CACZ,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAChF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,gBAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC;IAE9E,MAAM;SACH,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,8BAA8B,CAAC;SAC3C,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;SACpD,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC;QACnC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAQ,CAAC,KAAK,CACZ,8BAA8B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACvF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,gBAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,eAAe,CAAC;SACxB,WAAW,CAAC,kCAAkC,CAAC;SAC/C,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAQ,CAAC,KAAK,CACZ,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACtF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,gBAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,kBAAkB,CAAC;SAC3B,WAAW,CAAC,uCAAuC,CAAC;SACpD,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;SACpD,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;QACjC,IAAI,CAAC;YACH,MAAM,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAQ,CAAC,KAAK,CACZ,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACzF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,gBAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,MAAM;SACH,OAAO,CAAC,OAAO,CAAC;SAChB,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;SACpD,MAAM,CAAC,KAAK,EAAC,OAAO,EAAC,EAAE;QACtB,IAAI,CAAC;YACH,MAAM,kBAAkB,CAAC,OAAO,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,eAAQ,CAAC,KAAK,CACZ,wBAAwB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACjF,CAAC;YACF,OAAO,CAAC,IAAI,CAAC,gBAAQ,CAAC,aAAa,CAAC,CAAC;QACvC,CAAC;IACH,CAAC,CAAC,CAAC;IAEL,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAnFW,QAAA,mBAAmB,uBAmF9B;AAEF,KAAK,UAAU,iBAAiB,CAAC,OAAY;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,gBAAS,CAAC,aAAa,EAAE,CAAC;IAErD,eAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,MAAM,gBAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAE/C,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACrC,eAAQ,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QACjE,OAAO,CAAC,GAAG,EAAE,CAAC;QACd,OAAO,CAAC,GAAG,CACT,4BAA4B,gBAAS,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACnG,CAAC;QACF,OAAO;IACT,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC9C,OAAO,CAAC,GAAG,CACT,oBAAoB,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1E,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACzC,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,IAAI,MAAM,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,OAAO,CAAC,GAAG,CACT,yBAAyB,MAAM,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAClF,CAAC;IACJ,CAAC;AACH,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,OAAY;IAC3C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,gBAAS,CAAC,aAAa,EAAE,CAAC;IAErD,MAAM,QAAQ,GAAG,MAAM,gBAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAExD,eAAQ,CAAC,MAAM,CAAC,iBAAiB,CAAC,CAAC;IAEnC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,eAAQ,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAChD,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,MAAM,gBAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,SAAS,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC;IAEjC,IAAI,SAAS,EAAE,CAAC;QACd,eAAQ,CAAC,IAAI,CAAC,yBAAyB,CAAC,CAAC;IAC3C,CAAC;IAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;QAC/B,OAAO,CAAC,GAAG,CAAC,OAAO,eAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC/C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,gBAAgB,CAAC,OAAe,EAAE,OAAY;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,gBAAS,CAAC,aAAa,EAAE,CAAC;IAErD,MAAM,OAAO,GAAG,MAAM,gBAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEvD,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAAC,EAAE,CAAC;QACjE,eAAQ,CAAC,OAAO,CAAC,YAAY,OAAO,kCAAkC,CAAC,CAAC;QACxE,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,EAAE,OAAO,CAAC,CAAC;IACxC,MAAM,MAAM,GAAG,MAAM,gBAAS,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,eAAQ,CAAC,OAAO,CAAC,UAAU,OAAO,mBAAmB,CAAC,CAAC;IACzD,CAAC;SAAM,CAAC;QACN,eAAQ,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,mBAAmB,CAChC,OAAe,EACf,OAAY;IAEZ,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,gBAAS,CAAC,aAAa,EAAE,CAAC;IAErD,MAAM,OAAO,GAAG,MAAM,gBAAS,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAEvD,MAAM,KAAK,GAAG,OAAO,CAAC,SAAS,CAC7B,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,OAAO,CAAC,WAAW,EAAE,CAC/C,CAAC;IAEF,IAAI,KAAK,KAAK,CAAC,CAAC,EAAE,CAAC;QACjB,eAAQ,CAAC,OAAO,CAAC,YAAY,OAAO,8BAA8B,CAAC,CAAC;QACpE,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC;IAC/B,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE3B,MAAM,MAAM,GAAG,MAAM,gBAAS,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9C,MAAM,EAAE,SAAS;KAClB,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,eAAQ,CAAC,OAAO,CAAC,YAAY,OAAO,qBAAqB,CAAC,CAAC;IAC7D,CAAC;SAAM,CAAC;QACN,eAAQ,CAAC,KAAK,CAAC,4BAA4B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,OAAY;IAC5C,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,gBAAS,CAAC,aAAa,EAAE,CAAC;IAErD,MAAM,MAAM,GAAG,MAAM,gBAAS,CAAC,WAAW,CAAC,GAAG,EAAE;QAC9C,MAAM,EAAE,CAAC,GAAG,gBAAS,CAAC,uBAAuB,CAAC;KAC/C,CAAC,CAAC;IAEH,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QACnB,eAAQ,CAAC,OAAO,CAAC,yCAAyC,CAAC,CAAC;IAC9D,CAAC;SAAM,CAAC;QACN,eAAQ,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC"}
|
|
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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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,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"}
|