@dotenvx/dotenvx 1.61.1 → 1.61.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 -1
- package/README.md +8 -70
- package/package.json +1 -1
- package/src/lib/extensions/ops.js +4 -1
- package/src/lib/helpers/installPrecommitHook.js +12 -6
package/CHANGELOG.md
CHANGED
|
@@ -2,10 +2,24 @@
|
|
|
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.61.
|
|
5
|
+
[Unreleased](https://github.com/dotenvx/dotenvx/compare/v1.61.3...main)
|
|
6
|
+
|
|
7
|
+
## [1.61.3](https://github.com/dotenvx/dotenvx/compare/v1.61.2...v1.61.3) (2026-04-21)
|
|
8
|
+
|
|
9
|
+
### Changed
|
|
10
|
+
|
|
11
|
+
* Tighten up `ext precommit --install` message ([#797](https://github.com/dotenvx/dotenvx/pull/797))
|
|
12
|
+
|
|
13
|
+
## [1.61.2](https://github.com/dotenvx/dotenvx/compare/v1.61.1...v1.61.2) (2026-04-21)
|
|
14
|
+
|
|
15
|
+
### Changed
|
|
16
|
+
|
|
17
|
+
* For Ops ⛨ users surface stderr ([#796](https://github.com/dotenvx/dotenvx/pull/796))
|
|
6
18
|
|
|
7
19
|
## [1.61.1](https://github.com/dotenvx/dotenvx/compare/v1.61.0...v1.61.1) (2026-04-17)
|
|
8
20
|
|
|
21
|
+
### Changed
|
|
22
|
+
|
|
9
23
|
* Faster coldstarts! ([#781](https://github.com/dotenvx/dotenvx/pull/781))
|
|
10
24
|
* Patch `dotenvx precommit|prebuild` shorthand ([#793](https://github.com/dotenvx/dotenvx/pull/793))
|
|
11
25
|
|
package/README.md
CHANGED
|
@@ -2217,7 +2217,7 @@ Prevent `.env` files from being committed to code.
|
|
|
2217
2217
|
|
|
2218
2218
|
```sh
|
|
2219
2219
|
$ dotenvx ext precommit
|
|
2220
|
-
|
|
2220
|
+
▣ .env files (1) protected (encrypted or gitignored)
|
|
2221
2221
|
```
|
|
2222
2222
|
|
|
2223
2223
|
</details>
|
|
@@ -2227,7 +2227,7 @@ Install a shell script to `.git/hooks/pre-commit` to prevent accidentally commit
|
|
|
2227
2227
|
|
|
2228
2228
|
```sh
|
|
2229
2229
|
$ dotenvx ext precommit --install
|
|
2230
|
-
|
|
2230
|
+
▣ dotenvx ext precommit installed [.git/hooks/pre-commit]
|
|
2231
2231
|
```
|
|
2232
2232
|
|
|
2233
2233
|
</details>
|
|
@@ -2241,7 +2241,7 @@ $ mkdir -p apps/backend
|
|
|
2241
2241
|
$ echo "HELLO=Backend" > apps/backend/.env
|
|
2242
2242
|
|
|
2243
2243
|
$ dotenvx ext precommit apps/backend
|
|
2244
|
-
|
|
2244
|
+
▣ apps/backend/.env not protected (encrypted or gitignored)
|
|
2245
2245
|
```
|
|
2246
2246
|
|
|
2247
2247
|
</details>
|
|
@@ -2617,77 +2617,15 @@ This is known as *Decryption at Access* and is written about in [the whitepaper]
|
|
|
2617
2617
|
|
|
2618
2618
|
## Ops ⛨
|
|
2619
2619
|
|
|
2620
|
-
[](https://dotenvx.com/ops)
|
|
2621
2621
|
|
|
2622
|
-
> ⛨ ARMORED KEYS: Harden your private keys.
|
|
2623
|
-
|
|
2624
|
-
### Quickstart
|
|
2625
|
-
|
|
2626
|
-
Install it and gain `ops` commands.
|
|
2627
|
-
|
|
2628
|
-
```sh
|
|
2629
|
-
$ curl -sfS https://dotenvx.sh/ops | sh
|
|
2630
|
-
$ dotenvx ops login
|
|
2631
|
-
$ dotenvx encrypt
|
|
2632
|
-
```
|
|
2633
|
-
|
|
2634
|
-
### CLI
|
|
2635
|
-
|
|
2636
|
-
<details><summary>`ops login`</summary><br>
|
|
2637
|
-
|
|
2638
|
-
Log in.
|
|
2639
|
-
|
|
2640
|
-
```sh
|
|
2641
|
-
$ dotenvx-ops login
|
|
2642
|
-
press Enter to open [https://ops.dotenvx.com/login/device] and enter code [D9C1-03BC]... (Y/n)
|
|
2643
|
-
⠹ waiting on browser authorization
|
|
2644
|
-
◈ logged in [username] to this device and activated token [dxo_6kjPifI…]
|
|
2645
|
-
```
|
|
2646
|
-
|
|
2647
|
-
</details>
|
|
2648
|
-
<details><summary>`ops logout`</summary><br>
|
|
2649
|
-
|
|
2650
|
-
Log out.
|
|
2651
|
-
|
|
2652
|
-
```sh
|
|
2653
|
-
$ dotenvx ops logout
|
|
2654
|
-
◈ logged out [username] from this device and revoked token [dxo_5ZrwRXV…]
|
|
2655
2622
|
```
|
|
2656
|
-
|
|
2657
|
-
|
|
2658
|
-
|
|
2659
|
-
|
|
2660
|
-
Check and configure various settings for [Ops](https://dotenvx.com/ops) - `username`, `token`, and more.
|
|
2661
|
-
|
|
2662
|
-
```sh
|
|
2663
|
-
$ dotenvx-ops settings
|
|
2664
|
-
Usage: dotenvx-ops settings [options] [command]
|
|
2665
|
-
|
|
2666
|
-
⚙️ settings
|
|
2667
|
-
|
|
2668
|
-
Options:
|
|
2669
|
-
-h, --help display help for command
|
|
2670
|
-
|
|
2671
|
-
Commands:
|
|
2672
|
-
username print your username
|
|
2673
|
-
token [options] print your access token (--unmask)
|
|
2674
|
-
device [options] print your device pubkey (--unmask)
|
|
2675
|
-
hostname print hostname
|
|
2676
|
-
path print path to settings file
|
|
2677
|
-
help [command] display help for command
|
|
2678
|
-
```
|
|
2679
|
-
|
|
2680
|
-
</details>
|
|
2681
|
-
<details><summary>`ops status`</summary><br>
|
|
2682
|
-
|
|
2683
|
-
Check current status of [Ops](https://dotenvx.com/ops) - `on` or `off` (logged in or out).
|
|
2684
|
-
|
|
2685
|
-
```sh
|
|
2686
|
-
$ dotenvx ops status
|
|
2687
|
-
on
|
|
2623
|
+
⛨ ARMORED KEYS: Harden your private keys.
|
|
2624
|
+
⮕ install [curl -sfS https://dotenvx.sh/ops | sh]
|
|
2625
|
+
⮕ then run [dotenvx-ops login]
|
|
2688
2626
|
```
|
|
2689
2627
|
|
|
2690
|
-
|
|
2628
|
+
[Learn more](https://dotenvx.com/ops)
|
|
2691
2629
|
|
|
2692
2630
|
|
|
2693
2631
|
|
package/package.json
CHANGED
|
@@ -90,7 +90,10 @@ class Ops {
|
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
async _exec (binary, args) {
|
|
93
|
-
const { stdout } = await execFile(binary, args)
|
|
93
|
+
const { stdout, stderr } = await execFile(binary, args)
|
|
94
|
+
if (stderr && stderr.length > 0) {
|
|
95
|
+
process.stderr.write(stderr.toString())
|
|
96
|
+
}
|
|
94
97
|
return stdout.toString().trim()
|
|
95
98
|
}
|
|
96
99
|
|
|
@@ -11,9 +11,15 @@ elif npx dotenvx -V >/dev/null 2>&1
|
|
|
11
11
|
then
|
|
12
12
|
npx dotenvx ext precommit
|
|
13
13
|
else
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
14
|
+
if [ -t 2 ]; then
|
|
15
|
+
RED="$(printf '\\033[31m')"
|
|
16
|
+
RESET="$(printf '\\033[0m')"
|
|
17
|
+
else
|
|
18
|
+
RED=""
|
|
19
|
+
RESET=""
|
|
20
|
+
fi
|
|
21
|
+
|
|
22
|
+
printf "%s☠ 'dotenvx ext precommit' command not found (.git/hooks/precommit) fix: [curl -sfS https://dotenvx.sh | sh]%s\n" "$RED" "$RESET" >&2
|
|
17
23
|
exit 1
|
|
18
24
|
fi
|
|
19
25
|
`
|
|
@@ -32,14 +38,14 @@ class InstallPrecommitHook {
|
|
|
32
38
|
// Check if 'dotenvx precommit' already exists in the file
|
|
33
39
|
if (this._currentHook().includes('dotenvx ext precommit')) {
|
|
34
40
|
// do nothing
|
|
35
|
-
successMessage =
|
|
41
|
+
successMessage = `▣ dotenvx ext precommit exists [${this.hookPath}]`
|
|
36
42
|
} else {
|
|
37
43
|
this._appendHook()
|
|
38
|
-
successMessage =
|
|
44
|
+
successMessage = `▣ dotenvx ext precommit appended [${this.hookPath}]`
|
|
39
45
|
}
|
|
40
46
|
} else {
|
|
41
47
|
this._createHook()
|
|
42
|
-
successMessage =
|
|
48
|
+
successMessage = `▣ dotenvx ext precommit installed [${this.hookPath}]`
|
|
43
49
|
}
|
|
44
50
|
|
|
45
51
|
return {
|