Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Using `decrypt`, existing shell env vars overwrite the encrypted ones

Aperta
#1,005 3 commenti 0 reazioni 0 assegnatari Vedi su GitHub

I maintainer di solito rispondono entro 1 giorno

@jovial-liu ci sta già lavorando.

Dal 8/10/2026.

  • #1010 di @jovial-liu — aperta

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
65/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
javascript
Ambito
cli

Direzione di ricerca

Parti da src/lib/transforms/decrypt.js e confronta l'uso attuale di parse() con il percorso scan() ancora usato da encrypt (e con il comportamento precedente alla 2.0.0 del commit 1572f3ae). Conferma la riproduzione descritta nell'issue: critta una KEY in .env, imposta KEY nella shell, esegui dotenvx decrypt --stdout e controlla l'output. Si considera completato quando decrypt scrive il contenuto del file crittato indipendentemente da process.env (più un test di regressione che copra il caso della variabile della shell); valuta inoltre se l'opzione richiesta in stile -o/--stdout esiste già nella gestione degli argomenti della CLI prima di aggiungerne una.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Since 2.0.0 using dotenvx decrypt existing env vars overwrite/take precedence over encrypted envs from the env file.

printf 'KEY=value\n' > .env
dotenvx encrypt
KEY=shell dotenvx decrypt --stdout

outputs

KEY=shell

Maybe this is desired functionality but it came as big surprise to me after upgrading as suddenly the decryption was wrong in a pipeline as the envs were existing with test values... I checked the CHANGELOG but didnt find any entry about that change. Also there is no option like -o for this case. Personally, i find it counter-intuitive as i understand decrypt as "decrypt a file" indepdent of existing envs - but maybe my understand is wrong here. At least a -o option would be a big win.

In 1.48.4 existing envs did not overwrite. Broke in 2.0.0 — 1572f3ae (#855) switched src/lib/transforms/decrypt.js from scan() to parse(). parse() is the runtime resolver, so process.env wins over the file, and decrypt now writes that result back. encrypt still uses scan().

Thanks in advance

Lingua principale
JavaScript
Stelle
5.8k
Fork
166
Merge medio
4h 28m
PR unite (30g)
34

Preparare l'ambiente

  • Include un Dockerfile o un file Docker Compose
  • Nessun modello di pull request
  • Nessuna guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di dotenvx/dotenvx

Tutte le issue di dotenvx/dotenvx

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.