@dotenvx/dotenvx 1.52.0 → 1.54.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,25 @@
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.52.0...main)
5
+ [Unreleased](https://github.com/dotenvx/dotenvx/compare/v1.54.1...main)
6
+
7
+ ## [1.54.1](https://github.com/dotenvx/dotenvx/compare/v1.54.0...v1.54.1) (2026-03-06)
8
+
9
+ ### Changed
10
+
11
+ * Fix npm publish
12
+
13
+ ## [1.54.0](https://github.com/dotenvx/dotenvx/compare/v1.53.0...v1.54.0) (2026-03-06)
14
+
15
+ ### Removed
16
+
17
+ * Remove `ops observe` (radar feature). If needed download [dotenvx-ops](https://dotenvx.com/ops) and reach out to me directly at mot@dotenvx.com. ([#745](https://github.com/dotenvx/dotenvx/pull/745))
18
+
19
+ ## [1.53.0](https://github.com/dotenvx/dotenvx/compare/v1.52.0...v1.53.0) (2026-03-05)
20
+
21
+ ### Removed
22
+
23
+ * Remove `radar`. It has been a year since replaced by `ops`. ([#743](https://github.com/dotenvx/dotenvx/pull/743))
6
24
 
7
25
  ## [1.52.0](https://github.com/dotenvx/dotenvx/compare/v1.51.4...v1.52.0) (2026-01-22)
8
26
 
package/README.md CHANGED
@@ -1247,15 +1247,6 @@ $ dotenvx set HELLO world -fk .env.keys -f apps/app1/.env
1247
1247
  $ dotenvx run -fk .env.keys -f apps/app1/.env -- yourcommand
1248
1248
  ```
1249
1249
 
1250
- </details>
1251
- <details><summary>`run --ops-off`</summary><br>
1252
-
1253
- Turn off [Dotenvx Ops](https://dotenvx.com/ops) features.
1254
-
1255
- ```sh
1256
- $ dotenvx run --ops-off -- yourcommand
1257
- ```
1258
-
1259
1250
  </details>
1260
1251
  <details><summary>`get KEY`</summary><br>
1261
1252
 
@@ -2494,16 +2485,6 @@ This is equivalent to using `--convention=nextjs` with the CLI:
2494
2485
  $ dotenvx run --convention=nextjs -- node index.js
2495
2486
  ```
2496
2487
 
2497
- </details>
2498
- <details><summary>`config(opsOff:)` - opsOff</summary><br>
2499
-
2500
- Turn off [Dotenvx Ops](https://dotenvx.com/ops) features.
2501
-
2502
- ```js
2503
- // index.js
2504
- require('@dotenvx/dotenvx').config({opsOff: true})
2505
- ```
2506
-
2507
2488
  </details>
2508
2489
  <details><summary>`parse(src)`</summary><br>
2509
2490
 
@@ -2654,7 +2635,7 @@ $ dotenvx ops logout
2654
2635
  ```
2655
2636
 
2656
2637
  </details>
2657
- <details><summary>`settings`</summary><br>
2638
+ <details><summary>`ops settings`</summary><br>
2658
2639
 
2659
2640
  Check and configure various settings for [Ops](https://dotenvx.com/ops) - `username`, `token`, and more.
2660
2641
 
package/package.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.52.0",
2
+ "version": "1.54.1",
3
3
  "name": "@dotenvx/dotenvx",
4
4
  "description": "a secure dotenv–from the creator of `dotenv`",
5
5
  "author": "@motdotla",
@@ -3,8 +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
- const Ops = require('./../../lib/services/ops')
8
6
 
9
7
  const conventions = require('./../../lib/helpers/conventions')
10
8
  const DeprecationNotice = require('./../../lib/helpers/deprecationNotice')
@@ -46,8 +44,6 @@ async function run () {
46
44
  new DeprecationNotice().dotenvKey() // DEPRECATION NOTICE
47
45
 
48
46
  const {
49
- beforeEnv,
50
- afterEnv,
51
47
  processedEnvs,
52
48
  readableStrings,
53
49
  readableFilepaths,
@@ -55,8 +51,8 @@ async function run () {
55
51
  } = new Run(envs, options.overload, process.env.DOTENV_KEY, process.env, options.envKeysFile, opsOn).run()
56
52
 
57
53
  if (opsOn) {
58
- try { new Radar().observe({ beforeEnv, processedEnvs, afterEnv }) } catch {}
59
- try { new Ops().observe({ beforeEnv, processedEnvs, afterEnv }) } catch {}
54
+ // removed radar feature for now. contact me at mot@dotenvx.com if still needed for your organization.
55
+ // try { new Ops().observe({ beforeEnv, processedEnvs, afterEnv }) } catch {}
60
56
  }
61
57
 
62
58
  for (const processedEnv of processedEnvs) {
@@ -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 === 'radar') {
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,8 +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
- const Ops = require('./services/ops')
17
15
 
18
16
  // helpers
19
17
  const buildEnvs = require('./helpers/buildEnvs')
@@ -59,16 +57,14 @@ const config = function (options = {}) {
59
57
  try {
60
58
  const envs = buildEnvs(options, DOTENV_KEY)
61
59
  const {
62
- beforeEnv,
63
- afterEnv,
64
60
  processedEnvs,
65
61
  readableFilepaths,
66
62
  uniqueInjectedKeys
67
63
  } = new Run(envs, overload, DOTENV_KEY, processEnv, envKeysFile, opsOn).run()
68
64
 
69
65
  if (opsOn) {
70
- try { new Radar().observe({ beforeEnv, processedEnvs, afterEnv }) } catch {}
71
- try { new Ops().observe({ beforeEnv, processedEnvs, afterEnv }) } catch {}
66
+ // removed radar feature for now. contact me at mot@dotenvx.com if still needed for your organization.
67
+ // try { new Ops().observe({ beforeEnv, processedEnvs, afterEnv }) } catch {}
72
68
  }
73
69
 
74
70
  let lastError
@@ -340,7 +336,7 @@ module.exports = {
340
336
  ls,
341
337
  keypair,
342
338
  genexample,
343
- // expose for libs depending on @dotenvx/dotenvx - like dotenvx-radar
339
+ // expose for libs depending on @dotenvx/dotenvx - like dotenvx-ops
344
340
  setLogLevel,
345
341
  logger,
346
342
  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