@dotenvx/dotenvx 1.38.1 → 1.38.3
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 +15 -3
- package/README.md +54 -19
- package/package.json +1 -1
- package/src/lib/helpers/parse.js +1 -1
- package/src/lib/main.d.ts +44 -0
package/CHANGELOG.md
CHANGED
|
@@ -2,15 +2,27 @@
|
|
|
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/v1.38.
|
|
5
|
+
[Unreleased](https://github.com/dotenvx/dotenvx/compare/v1.38.3...main)
|
|
6
|
+
|
|
7
|
+
## [1.38.3](https://github.com/dotenvx/dotenvx/compare/v1.38.2...v1.38.3)
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
* 🐞 Fix self-referencing expansion when key exists already in `process.env` ([#536](https://github.com/dotenvx/dotenvx/pull/536))
|
|
12
|
+
|
|
13
|
+
## [1.38.2](https://github.com/dotenvx/dotenvx/compare/v1.38.1...v1.38.2)
|
|
14
|
+
|
|
15
|
+
### Added
|
|
16
|
+
|
|
17
|
+
* Add typescript types for `main.get`.
|
|
6
18
|
|
|
7
19
|
## [1.38.1](https://github.com/dotenvx/dotenvx/compare/v1.38.0...v1.38.1)
|
|
8
20
|
|
|
9
21
|
### Changed
|
|
10
22
|
|
|
11
|
-
* Support `encrypt` when mutliline contains windows `CRLF` (
|
|
23
|
+
* Support `encrypt` when mutliline contains windows `CRLF` (`\r\n`) ([#534](https://github.com/dotenvx/dotenvx/pull/534))
|
|
12
24
|
|
|
13
|
-
Note: dotenvx will convert these
|
|
25
|
+
Note: dotenvx will convert these `\r\n` newlines to `\n`. Our recommendation is to stop using `CRLF` - its origin is from typewriter days. Instead, set your editor or gitattributes to use `LF`.
|
|
14
26
|
|
|
15
27
|
## [1.38.0](https://github.com/dotenvx/dotenvx/compare/v1.37.0...v1.38.0)
|
|
16
28
|
|
package/README.md
CHANGED
|
@@ -2212,33 +2212,68 @@ More examples
|
|
|
2212
2212
|
dotenvx.set('HELLO', 'World', { path: '.env' })
|
|
2213
2213
|
```
|
|
2214
2214
|
|
|
2215
|
+
</details>
|
|
2216
|
+
* <details><summary>`get(KEY)` - <i>Decryption at Access</i></summary><br>
|
|
2217
|
+
|
|
2218
|
+
Programatically get an environment variable at access/runtime.
|
|
2219
|
+
|
|
2220
|
+
```js
|
|
2221
|
+
// index.js
|
|
2222
|
+
const dotenvx = require('@dotenvx/dotenvx')
|
|
2223
|
+
const decryptedValue = dotenvx.get('HELLO')
|
|
2224
|
+
console.log(decryptedValue)
|
|
2225
|
+
```
|
|
2226
|
+
|
|
2227
|
+
This is known as *Decryption at Access* and is written about in [the whitepaper](https://dotenvx.com/dotenvx.pdf).
|
|
2228
|
+
|
|
2215
2229
|
</details>
|
|
2216
2230
|
|
|
2217
2231
|
|
|
2218
2232
|
|
|
2219
2233
|
## Guides
|
|
2220
2234
|
|
|
2221
|
-
> Go deeper
|
|
2235
|
+
> Go deeper with `dotenvx` – detailed framework and platform guides.
|
|
2222
2236
|
>
|
|
2223
2237
|
|
|
2224
|
-
*
|
|
2225
|
-
*
|
|
2226
|
-
*
|
|
2227
|
-
*
|
|
2228
|
-
*
|
|
2229
|
-
*
|
|
2230
|
-
*
|
|
2231
|
-
*
|
|
2232
|
-
*
|
|
2233
|
-
*
|
|
2234
|
-
*
|
|
2235
|
-
*
|
|
2236
|
-
* [
|
|
2237
|
-
*
|
|
2238
|
-
*
|
|
2239
|
-
|
|
2240
|
-
*
|
|
2241
|
-
*
|
|
2238
|
+
* [Languages](https://dotenvx.com/docs#languages)
|
|
2239
|
+
* [Node.js](https://dotenvx.com/docs/languages/nodejs)
|
|
2240
|
+
* [Python](https://dotenvx.com/docs/languages/python)
|
|
2241
|
+
* [Ruby](https://dotenvx.com/docs/languages/ruby)
|
|
2242
|
+
* [Go](https://dotenvx.com/docs/languages/go)
|
|
2243
|
+
* [PHP](https://dotenvx.com/docs/languages/php)
|
|
2244
|
+
* [Rust](https://dotenvx.com/docs/languages/rust)
|
|
2245
|
+
* [Frameworks](https://dotenvx.com/docs#frameworks)
|
|
2246
|
+
* [Astro](https://dotenvx.com/docs/frameworks/astro)
|
|
2247
|
+
* [Express](https://dotenvx.com/docs/frameworks/express)
|
|
2248
|
+
* [Next](https://dotenvx.com/docs/frameworks/next)
|
|
2249
|
+
* [Remix](https://dotenvx.com/docs/frameworks/remix)
|
|
2250
|
+
* [Flask](https://dotenvx.com/docs/frameworks/flask)
|
|
2251
|
+
* [Sinatra](https://dotenvx.com/docs/frameworks/sinatra)
|
|
2252
|
+
* [Rocket](https://dotenvx.com/docs/frameworks/rocket)
|
|
2253
|
+
* [Platforms](https://dotenvx.com/docs#platforms)
|
|
2254
|
+
* [Digital Ocean](https://dotenvx.com/docs/platforms/digital-ocean)
|
|
2255
|
+
* [Docker](https://dotenvx.com/docs/platforms/docker)
|
|
2256
|
+
* [Fly](https://dotenvx.com/docs/platforms/fly)
|
|
2257
|
+
* [Heroku](https://dotenvx.com/docs/platforms/heroku)
|
|
2258
|
+
* [Netlify](https://dotenvx.com/docs/platforms/netlify)
|
|
2259
|
+
* [Vercel](https://dotenvx.com/docs/platforms/vercel)
|
|
2260
|
+
* [Railway](https://dotenvx.com/docs/platforms/railway)
|
|
2261
|
+
* [Render](https://dotenvx.com/docs/platforms/render)
|
|
2262
|
+
* [CI/CDs](https://dotenvx.com/docs#cis)
|
|
2263
|
+
* [GitHub Actions](https://dotenvx.com/docs/cis/github-actions)
|
|
2264
|
+
* [Background Jobs](https://dotenvx.com/docs#background-jobs)
|
|
2265
|
+
* [Trigger.dev](https://dotenvx.com/docs/background-jobs/triggerdotdev)
|
|
2266
|
+
* [Package Managers](https://dotenvx.com/docs#package-managers)
|
|
2267
|
+
* [NPM](https://dotenvx.com/docs/package-managers/npm)
|
|
2268
|
+
* [PNPM](https://dotenvx.com/docs/package-managers/pnpm)
|
|
2269
|
+
* [Process Managers](https://dotenvx.com/docs#process-managers)
|
|
2270
|
+
* [PM2](https://dotenvx.com/docs/process-managers/pm2)
|
|
2271
|
+
* [Monorepos](https://dotenvx.com/docs#monorepos)
|
|
2272
|
+
* [Nx](https://dotenvx.com/docs/monorepos/nx)
|
|
2273
|
+
* [Turborepo](https://dotenvx.com/docs/monorepos/turborepo)
|
|
2274
|
+
* [Concepts](https://dotenvx.com/docs#concepts)
|
|
2275
|
+
* [.env](https://dotenvx.com/docs/env-file)
|
|
2276
|
+
* [.env.keys](https://dotenvx.com/docs/env-keys-file)
|
|
2242
2277
|
|
|
2243
2278
|
|
|
2244
2279
|
|
package/package.json
CHANGED
package/src/lib/helpers/parse.js
CHANGED
|
@@ -60,7 +60,7 @@ class Parse {
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
// expand empty, double, or backticks
|
|
63
|
-
if (!evaled && quote !== "'" && !this.processEnv[key]) {
|
|
63
|
+
if (!evaled && quote !== "'" && (!this.processEnv[key] || this.overload)) {
|
|
64
64
|
this.parsed[key] = resolveEscapeSequences(this.expand(this.parsed[key]))
|
|
65
65
|
}
|
|
66
66
|
|
package/src/lib/main.d.ts
CHANGED
|
@@ -232,6 +232,50 @@ export function set(
|
|
|
232
232
|
options?: SetOptions
|
|
233
233
|
): SetOutput;
|
|
234
234
|
|
|
235
|
+
export interface GetOptions {
|
|
236
|
+
/**
|
|
237
|
+
* Suppress specific errors like MISSING_ENV_FILE. The error keys can be found
|
|
238
|
+
* in src/lib/helpers/errors.js
|
|
239
|
+
* @default []
|
|
240
|
+
* @example require('@dotenvx/dotenvx').get('KEY', { ignore: ['MISSING_ENV_FILE'] })
|
|
241
|
+
*/
|
|
242
|
+
ignore?: string[];
|
|
243
|
+
|
|
244
|
+
/**
|
|
245
|
+
* Override any environment variables that have already been set on your machine with values from your .env file.
|
|
246
|
+
* @default false
|
|
247
|
+
* @example require('@dotenvx/dotenvx').get('KEY', { overload: true })
|
|
248
|
+
* @alias overload
|
|
249
|
+
*/
|
|
250
|
+
overload?: boolean;
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Customize the path to your .env.keys file. This is useful with monorepos.
|
|
254
|
+
* @default []
|
|
255
|
+
* @example require('@dotenvx/dotenvx').get('KEY', { envKeysFile: '../../.env.keys'} })
|
|
256
|
+
*/
|
|
257
|
+
envKeysFile?: string;
|
|
258
|
+
|
|
259
|
+
/**
|
|
260
|
+
* Throw immediately if an error is encountered - like a missing .env file.
|
|
261
|
+
* @default false
|
|
262
|
+
* @example require('@dotenvx/dotenvx').get('KEY', { strict: true })
|
|
263
|
+
*/
|
|
264
|
+
strict?: boolean;
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
/**
|
|
268
|
+
* Get a single environment variable.
|
|
269
|
+
*
|
|
270
|
+
* @see https://dotenvx.com/docs
|
|
271
|
+
* @param key - KEY
|
|
272
|
+
* @param options - additional options. example: `{ overload: true }`
|
|
273
|
+
*/
|
|
274
|
+
export function get(
|
|
275
|
+
key: string,
|
|
276
|
+
options?: GetOptions
|
|
277
|
+
): string;
|
|
278
|
+
|
|
235
279
|
/**
|
|
236
280
|
* List all env files in the current working directory
|
|
237
281
|
*
|