@dotenvx/dotenvx 2.17.0 → 2.17.1

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/CHANGELOG.md CHANGED
@@ -2,7 +2,13 @@
2
2
 
3
3
  All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
4
 
5
- [Unreleased](https://github.com/dotenvx/dotenvx/compare/v2.17.0...main)
5
+ [Unreleased](https://github.com/dotenvx/dotenvx/compare/v2.17.1...main)
6
+
7
+ ## [2.17.1](https://github.com/dotenvx/dotenvx/compare/v2.17.0...v2.17.1) (2026-07-21)
8
+
9
+ ### Changed
10
+
11
+ * Handle `ctrl + c` better ([#916](https://github.com/dotenvx/dotenvx/pull/916))
6
12
 
7
13
  ## [2.17.0](https://github.com/dotenvx/dotenvx/compare/v2.16.1...v2.17.0) (2026-07-21)
8
14
 
package/README.md CHANGED
@@ -167,7 +167,7 @@ Hello World
167
167
  see [1Password guide](https://dotenvx.com/docs/secrets-in-1password)
168
168
 
169
169
  </details>
170
- <details><summary>Bitwarden 🔑</summary><br>
170
+ <details><summary>Bitwarden 🛡️</summary><br>
171
171
 
172
172
  Run with secrets resolved directly from Bitwarden Password Manager.
173
173
 
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "2.17.0",
2
+ "version": "2.17.1",
3
3
  "name": "@dotenvx/dotenvx",
4
4
  "description": "a secure dotenv–from the creator of `dotenv`",
5
5
  "author": "@motdotla",
@@ -53,7 +53,7 @@
53
53
  "funding": "https://dotenvx.com",
54
54
  "dependencies": {
55
55
  "@dotenvx/primitives": "^2.1.0",
56
- "@dotenvx/tooling": "^1.0.2",
56
+ "@dotenvx/tooling": "^1.0.3",
57
57
  "yocto-spinner": "^1.2.1"
58
58
  },
59
59
  "devDependencies": {
@@ -120,6 +120,10 @@ async function get (key) {
120
120
  }
121
121
  } catch (error) {
122
122
  if (spinner) spinner.stop()
123
+ if (error.code === 'PROMPT_CANCELLED') {
124
+ process.exit(130)
125
+ return
126
+ }
123
127
  catchAndLog(error)
124
128
  process.exit(1)
125
129
  }
@@ -210,6 +210,10 @@ async function run () {
210
210
  logger.success(`⟐ ${msg}`)
211
211
  } catch (error) {
212
212
  if (spinner) spinner.stop()
213
+ if (error.code === 'PROMPT_CANCELLED') {
214
+ process.exit(130)
215
+ return
216
+ }
213
217
  catchAndLog(error)
214
218
  process.exit(1)
215
219
  }
@@ -117,6 +117,7 @@ async function resolveBitwardenPassword (parsed, options = {}) {
117
117
  })
118
118
  parsed[key] = secretValue(stdout)
119
119
  } catch (error) {
120
+ if (error && error.code === 'PROMPT_CANCELLED') throw error
120
121
  errors.push(resolutionError(key, error))
121
122
  unresolved.push(key)
122
123
  }
@@ -118,6 +118,7 @@ async function injectEnv ({ env, overload, processEnv, envKeysFilepath, provider
118
118
 
119
119
  inject(processEnv, row.parsed)
120
120
  } catch (e) {
121
+ if (e.code === 'PROMPT_CANCELLED') throw e
121
122
  row.errors = [e]
122
123
  }
123
124
 
@@ -225,6 +226,7 @@ async function injectEnvFile ({ env, overload, processEnv, envKeysFilepath, prov
225
226
 
226
227
  inject(processEnv, parsed)
227
228
  } catch (e) {
229
+ if (e.code === 'PROMPT_CANCELLED') throw e
228
230
  if (e.code === 'ENOENT' || e.code === 'EISDIR') {
229
231
  row.errors = [new Errors({ envFilepath: env.value, filepath }).missingEnvFile()]
230
232
  } else {