@dotenvx/dotenvx 1.52.0 → 1.53.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 +7 -1
- package/README.md +33 -0
- package/package.json +1 -1
- package/src/cli/actions/run.js +0 -2
- package/src/lib/helpers/executeDynamic.js +1 -5
- package/src/lib/main.js +1 -3
- package/src/lib/services/radar.js +0 -81
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/v1.
|
|
5
|
+
[Unreleased](https://github.com/dotenvx/dotenvx/compare/v1.53.0...main)
|
|
6
|
+
|
|
7
|
+
## [1.53.0](https://github.com/dotenvx/dotenvx/compare/v1.52.0...v1.53.0) (2026-03-05)
|
|
8
|
+
|
|
9
|
+
### Removed
|
|
10
|
+
|
|
11
|
+
* Remove `radar`. It has been a year since replaced by `ops`. ([#743](https://github.com/dotenvx/dotenvx/pull/743))
|
|
6
12
|
|
|
7
13
|
## [1.52.0](https://github.com/dotenvx/dotenvx/compare/v1.51.4...v1.52.0) (2026-01-22)
|
|
8
14
|
|
package/README.md
CHANGED
|
@@ -2597,6 +2597,39 @@ This is known as *Decryption at Access* and is written about in [the whitepaper]
|
|
|
2597
2597
|
|
|
2598
2598
|
|
|
2599
2599
|
|
|
2600
|
+
## AS2 🔐
|
|
2601
|
+
|
|
2602
|
+
<a href="https://dotenvx.com/as2">
|
|
2603
|
+
<img src="https://dotenvx.com/assets/img/as2/9.jpg" alt="dotenvx as2" height="400" align="right">
|
|
2604
|
+
</a>
|
|
2605
|
+
|
|
2606
|
+
*agentic secret storage*.
|
|
2607
|
+
|
|
2608
|
+
> Secrets designed for agents. No logins. No consoles. Pure cryptography.
|
|
2609
|
+
|
|
2610
|
+
### Quickstart
|
|
2611
|
+
|
|
2612
|
+
Install [`vestauth`](https://github.com/vestauth/vestauth) and initialize your agent. (AS2 uses [vestauth](https://vestauth.com) to authenticate agents.)
|
|
2613
|
+
|
|
2614
|
+
```sh
|
|
2615
|
+
npm i -g vestauth
|
|
2616
|
+
vestauth agent init
|
|
2617
|
+
```
|
|
2618
|
+
|
|
2619
|
+
Your agent can `set` secrets.
|
|
2620
|
+
|
|
2621
|
+
```
|
|
2622
|
+
vestauth agent curl -X POST https://as2.dotenvx.com/set '{"KEY": "value"}'
|
|
2623
|
+
```
|
|
2624
|
+
|
|
2625
|
+
Your agent can `get` secrets.
|
|
2626
|
+
|
|
2627
|
+
```
|
|
2628
|
+
vestauth agent curl https://as2.dotenvx.com/get?key=KEY
|
|
2629
|
+
```
|
|
2630
|
+
|
|
2631
|
+
|
|
2632
|
+
|
|
2600
2633
|
## Ops 🏰
|
|
2601
2634
|
|
|
2602
2635
|
[](https://dotenvx.com/ops)
|
package/package.json
CHANGED
package/src/cli/actions/run.js
CHANGED
|
@@ -3,7 +3,6 @@ const { logger } = require('./../../shared/logger')
|
|
|
3
3
|
|
|
4
4
|
const executeCommand = require('./../../lib/helpers/executeCommand')
|
|
5
5
|
const Run = require('./../../lib/services/run')
|
|
6
|
-
const Radar = require('./../../lib/services/radar')
|
|
7
6
|
const Ops = require('./../../lib/services/ops')
|
|
8
7
|
|
|
9
8
|
const conventions = require('./../../lib/helpers/conventions')
|
|
@@ -55,7 +54,6 @@ async function run () {
|
|
|
55
54
|
} = new Run(envs, options.overload, process.env.DOTENV_KEY, process.env, options.envKeysFile, opsOn).run()
|
|
56
55
|
|
|
57
56
|
if (opsOn) {
|
|
58
|
-
try { new Radar().observe({ beforeEnv, processedEnvs, afterEnv }) } catch {}
|
|
59
57
|
try { new Ops().observe({ beforeEnv, processedEnvs, afterEnv }) } catch {}
|
|
60
58
|
}
|
|
61
59
|
|
|
@@ -22,11 +22,7 @@ function executeDynamic (program, command, rawArgs) {
|
|
|
22
22
|
|
|
23
23
|
const result = childProcess.spawnSync(`dotenvx-${command}`, forwardedArgs, { stdio: 'inherit', env })
|
|
24
24
|
if (result.error) {
|
|
25
|
-
if (command === '
|
|
26
|
-
logger.warn(`[INSTALLATION_NEEDED] install dotenvx-${command} to use [dotenvx ${command}] 📡`)
|
|
27
|
-
logger.warn('[DEPRECATION NOTICE] dotenvx-radar to be sunsetted soon (2026) and its featureset to be rolled into dotenvx-ops')
|
|
28
|
-
logger.help('? see installation instructions [https://dotenvx.com/radar]')
|
|
29
|
-
} else if (command === 'ops') {
|
|
25
|
+
if (command === 'ops') {
|
|
30
26
|
const ops = ` _______________________________________________________________________
|
|
31
27
|
| |
|
|
32
28
|
| dotenvx-ops: production grade dotenvx–with operational primitives |
|
package/src/lib/main.js
CHANGED
|
@@ -12,7 +12,6 @@ const Sets = require('./services/sets')
|
|
|
12
12
|
const Get = require('./services/get')
|
|
13
13
|
const Keypair = require('./services/keypair')
|
|
14
14
|
const Genexample = require('./services/genexample')
|
|
15
|
-
const Radar = require('./services/radar')
|
|
16
15
|
const Ops = require('./services/ops')
|
|
17
16
|
|
|
18
17
|
// helpers
|
|
@@ -67,7 +66,6 @@ const config = function (options = {}) {
|
|
|
67
66
|
} = new Run(envs, overload, DOTENV_KEY, processEnv, envKeysFile, opsOn).run()
|
|
68
67
|
|
|
69
68
|
if (opsOn) {
|
|
70
|
-
try { new Radar().observe({ beforeEnv, processedEnvs, afterEnv }) } catch {}
|
|
71
69
|
try { new Ops().observe({ beforeEnv, processedEnvs, afterEnv }) } catch {}
|
|
72
70
|
}
|
|
73
71
|
|
|
@@ -340,7 +338,7 @@ module.exports = {
|
|
|
340
338
|
ls,
|
|
341
339
|
keypair,
|
|
342
340
|
genexample,
|
|
343
|
-
// expose for libs depending on @dotenvx/dotenvx - like dotenvx-
|
|
341
|
+
// expose for libs depending on @dotenvx/dotenvx - like dotenvx-ops
|
|
344
342
|
setLogLevel,
|
|
345
343
|
logger,
|
|
346
344
|
getColor,
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
const path = require('path')
|
|
2
|
-
const childProcess = require('child_process')
|
|
3
|
-
|
|
4
|
-
const { logger } = require('./../../shared/logger')
|
|
5
|
-
|
|
6
|
-
class Radar {
|
|
7
|
-
constructor () {
|
|
8
|
-
this.radarLib = null
|
|
9
|
-
|
|
10
|
-
// check npm lib
|
|
11
|
-
try {
|
|
12
|
-
this.radarLib = this._radarNpm()
|
|
13
|
-
logger.warn('[DEPRECATION NOTICE] dotenvx-radar is renamed dotenv-ops. [See https://dotenvx.com/docs/ops]')
|
|
14
|
-
logger.successv(`📡 radar: ${this.radarLib.status}`)
|
|
15
|
-
} catch (e) {
|
|
16
|
-
// check binary cli
|
|
17
|
-
try {
|
|
18
|
-
this.radarLib = this._radarCli()
|
|
19
|
-
logger.warn('[DEPRECATION NOTICE] dotenvx-radar is renamed dotenv-ops. [See https://dotenvx.com/docs/ops]')
|
|
20
|
-
logger.successv(`📡 radar: ${this.radarLib.status}`)
|
|
21
|
-
} catch (_e2) {
|
|
22
|
-
// noop
|
|
23
|
-
}
|
|
24
|
-
// noop
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
observe (payload) {
|
|
29
|
-
if (this.radarLib && this.radarLib.status !== 'off') {
|
|
30
|
-
const encoded = this.encode(payload)
|
|
31
|
-
this.radarLib.observe(encoded)
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
encode (payload) {
|
|
36
|
-
return Buffer.from(JSON.stringify(payload)).toString('base64')
|
|
37
|
-
}
|
|
38
|
-
|
|
39
|
-
_radarNpm () {
|
|
40
|
-
const fallbackBin = path.resolve(process.cwd(), 'node_modules/.bin/dotenvx-radar')
|
|
41
|
-
const status = childProcess.execSync(`${fallbackBin} status`, { stdio: ['pipe', 'pipe', 'ignore'] })
|
|
42
|
-
|
|
43
|
-
return {
|
|
44
|
-
status: status.toString().trim(),
|
|
45
|
-
observe: (encoded) => {
|
|
46
|
-
try {
|
|
47
|
-
const subprocess = childProcess.spawn(fallbackBin, ['observe', encoded], {
|
|
48
|
-
stdio: 'ignore',
|
|
49
|
-
detached: true
|
|
50
|
-
})
|
|
51
|
-
|
|
52
|
-
subprocess.unref() // let it run independently
|
|
53
|
-
} catch (e) {
|
|
54
|
-
// noop
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
_radarCli () {
|
|
61
|
-
const status = childProcess.execSync('dotenvx-radar status', { stdio: ['pipe', 'pipe', 'ignore'] })
|
|
62
|
-
|
|
63
|
-
return {
|
|
64
|
-
status: status.toString().trim(),
|
|
65
|
-
observe: (encoded) => {
|
|
66
|
-
try {
|
|
67
|
-
const subprocess = childProcess.spawn('dotenvx-radar', ['observe', encoded], {
|
|
68
|
-
stdio: 'ignore',
|
|
69
|
-
detached: true
|
|
70
|
-
})
|
|
71
|
-
|
|
72
|
-
subprocess.unref() // let it run independently
|
|
73
|
-
} catch (e) {
|
|
74
|
-
// noop
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
module.exports = Radar
|