@dotenvx/dotenvx 1.48.3 → 1.49.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/CHANGELOG.md +13 -1
- package/README.md +8 -4
- package/package.json +4 -4
- package/src/lib/helpers/dotenvParse.js +1 -1
- package/src/lib/helpers/isFullyEncrypted.js +1 -1
- package/src/lib/helpers/proKeypair.js +3 -7
- package/src/lib/services/prebuild.js +2 -2
- package/src/lib/services/precommit.js +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,7 +2,19 @@
|
|
|
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.48.
|
|
5
|
+
[Unreleased](https://github.com/dotenvx/dotenvx/compare/v1.48.4...main)
|
|
6
|
+
|
|
7
|
+
## [1.49.0](https://github.com/dotenvx/dotenvx/compare/v1.48.4...v1.49.0) (2025-08-18)
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
* For precommit and prebuild, ignore `.env.x` file like we do with `.env.vault` file. ([#666](https://github.com/dotenvx/dotenvx/pull/666))
|
|
12
|
+
|
|
13
|
+
## [1.48.4](https://github.com/dotenvx/dotenvx/compare/v1.48.3...v1.48.4) (2025-07-29)
|
|
14
|
+
|
|
15
|
+
### Removed
|
|
16
|
+
|
|
17
|
+
* Remove unnecessary use of `eval` in proKeypair helper ([#654](https://github.com/dotenvx/dotenvx/pull/654))
|
|
6
18
|
|
|
7
19
|
## 1.48.3
|
|
8
20
|
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
[](https://dotenvx.com)
|
|
2
2
|
|
|
3
|
-
*a
|
|
3
|
+
*a secure dotenv*–from the creator of [`dotenv`](https://github.com/motdotla/dotenv).
|
|
4
4
|
|
|
5
5
|
* run anywhere (cross-platform)
|
|
6
6
|
* multi-environment
|
|
@@ -2036,7 +2036,7 @@ Output help for `dotenvx`.
|
|
|
2036
2036
|
$ dotenvx help
|
|
2037
2037
|
Usage: dotenvx run -- yourcommand
|
|
2038
2038
|
|
|
2039
|
-
a
|
|
2039
|
+
a secure dotenv–from the creator of `dotenv`
|
|
2040
2040
|
|
|
2041
2041
|
Options:
|
|
2042
2042
|
-l, --log-level <level> set log level (default: "info")
|
|
@@ -2543,18 +2543,22 @@ This is known as *Decryption at Access* and is written about in [the whitepaper]
|
|
|
2543
2543
|
|
|
2544
2544
|
### Usage
|
|
2545
2545
|
|
|
2546
|
-
```sh
|
|
2547
2546
|
1. Install Radar
|
|
2548
2547
|
|
|
2548
|
+
```sh
|
|
2549
2549
|
$ curl -sfS https://dotenvx.sh/radar | sh
|
|
2550
|
+
```
|
|
2550
2551
|
|
|
2551
2552
|
2. Log in
|
|
2552
2553
|
|
|
2554
|
+
```sh
|
|
2553
2555
|
$ dotenvx-radar login
|
|
2554
2556
|
✔ logged in [username]
|
|
2557
|
+
```
|
|
2555
2558
|
|
|
2556
2559
|
3. Run dotenvx
|
|
2557
2560
|
|
|
2561
|
+
```sh
|
|
2558
2562
|
$ dotenvx run -- yourcommand
|
|
2559
2563
|
[dotenvx@1.0.0] 📡 radar active
|
|
2560
2564
|
[dotenvx@1.0.0] injecting env (1) from .env
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.
|
|
2
|
+
"version": "1.49.0",
|
|
3
3
|
"name": "@dotenvx/dotenvx",
|
|
4
|
-
"description": "a
|
|
4
|
+
"description": "a secure dotenv–from the creator of `dotenv`",
|
|
5
5
|
"author": "@motdotla",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"dotenv",
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"funding": "https://dotenvx.com",
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"commander": "^11.1.0",
|
|
47
|
-
"dotenv": "^
|
|
47
|
+
"dotenv": "^17.2.1",
|
|
48
48
|
"eciesjs": "^0.4.10",
|
|
49
49
|
"execa": "^5.1.1",
|
|
50
50
|
"fdir": "^6.2.0",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"devDependencies": {
|
|
57
57
|
"@yao-pkg/pkg": "^5.14.2",
|
|
58
58
|
"capture-console": "^1.0.2",
|
|
59
|
-
"esbuild": "^0.
|
|
59
|
+
"esbuild": "^0.25.8",
|
|
60
60
|
"proxyquire": "^2.1.3",
|
|
61
61
|
"sinon": "^14.0.1",
|
|
62
62
|
"standard": "^17.1.0",
|
|
@@ -13,13 +13,9 @@ class ProKeypair {
|
|
|
13
13
|
let result = {}
|
|
14
14
|
|
|
15
15
|
try {
|
|
16
|
-
|
|
17
|
-
const
|
|
18
|
-
|
|
19
|
-
const dotenvxProPath = eval('require').resolve('@dotenvx/dotenvx-pro', { paths: [projectRoot] }) // necessary for webpack builds
|
|
20
|
-
// eslint-disable-next-line no-eval
|
|
21
|
-
const { keypair } = eval('require')(dotenvxProPath) // necessary for webpack builds
|
|
22
|
-
result = keypair(this.envFilepath)
|
|
16
|
+
const fallbackBin = path.resolve(process.cwd(), 'node_modules/.bin/dotenvx-pro')
|
|
17
|
+
const output = childProcess.execSync(`${fallbackBin} keypair -f ${this.envFilepath}`, { stdio: ['pipe', 'pipe', 'ignore'] }).toString().trim()
|
|
18
|
+
result = JSON.parse(output)
|
|
23
19
|
} catch (_e) {
|
|
24
20
|
try {
|
|
25
21
|
// if installed as binary cli
|
|
@@ -41,13 +41,13 @@ class Prebuild {
|
|
|
41
41
|
|
|
42
42
|
// check if that file is being ignored
|
|
43
43
|
if (ig.ignores(file)) {
|
|
44
|
-
if (file === '.env.example' || file === '.env.vault') {
|
|
44
|
+
if (file === '.env.example' || file === '.env.vault' || file === '.env.x') {
|
|
45
45
|
const warning = new Error(`[dotenvx@${packageJson.version}][prebuild] ${file} (currently ignored but should not be)`)
|
|
46
46
|
warning.help = `[dotenvx@${packageJson.version}][prebuild] ⮕ run [dotenvx ext gitignore --pattern !${file}]`
|
|
47
47
|
warnings.push(warning)
|
|
48
48
|
}
|
|
49
49
|
} else {
|
|
50
|
-
if (file !== '.env.example' && file !== '.env.vault') {
|
|
50
|
+
if (file !== '.env.example' && file !== '.env.vault' && file !== '.env.x') {
|
|
51
51
|
const src = fsx.readFileX(file)
|
|
52
52
|
const encrypted = isFullyEncrypted(src)
|
|
53
53
|
|
|
@@ -57,13 +57,13 @@ class Precommit {
|
|
|
57
57
|
if (this._isFileToBeCommitted(file)) {
|
|
58
58
|
// check if that file is being ignored
|
|
59
59
|
if (ig.ignores(file)) {
|
|
60
|
-
if (file === '.env.example' || file === '.env.vault') {
|
|
60
|
+
if (file === '.env.example' || file === '.env.vault' || file === '.env.x') {
|
|
61
61
|
const warning = new Error(`[dotenvx@${packageJson.version}][precommit] ${file} (currently ignored but should not be)`)
|
|
62
62
|
warning.help = `[dotenvx@${packageJson.version}][precommit] ⮕ run [dotenvx ext gitignore --pattern !${file}]`
|
|
63
63
|
warnings.push(warning)
|
|
64
64
|
}
|
|
65
65
|
} else {
|
|
66
|
-
if (file !== '.env.example' && file !== '.env.vault') {
|
|
66
|
+
if (file !== '.env.example' && file !== '.env.vault' && file !== '.env.x') {
|
|
67
67
|
const src = fsx.readFileX(file)
|
|
68
68
|
const encrypted = isFullyEncrypted(src)
|
|
69
69
|
|