@rudderjs/cli 4.6.5 → 4.6.6

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.
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAQ5D,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAmFtF"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,IAAI,gBAAgB,EAAE,MAAM,WAAW,CAAA;AAS5D,MAAM,WAAW,iBAAiB;IAChC;;;;;OAKG;IACH,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC7B;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,iBAAiB,GAAG,IAAI,CAyFtF"}
@@ -1,3 +1,4 @@
1
+ import { loadDotenvForChecks } from '../doctor/load-dotenv.js';
1
2
  import { runChecks } from '../doctor/orchestrator.js';
2
3
  import { renderReport, renderFixReport, exitCodeFor } from '../doctor/reporter.js';
3
4
  import { loadPackageChecks } from '../doctor/load-package-checks.js';
@@ -19,6 +20,11 @@ export function doctorCommand(program, deps) {
19
20
  console.error('rudder doctor: --json is reserved for a future release (v1 has no JSON output).');
20
21
  process.exit(2);
21
22
  }
23
+ // Load `.env` so env-var checks reflect runtime. The fast-path `doctor` is
24
+ // skip-boot, so the app's `import 'dotenv/config'` never runs; without this,
25
+ // vars defined in `.env` (AUTH_SECRET, DATABASE_URL, …) falsely read as unset.
26
+ // cwd is the app root by now (the CLI chdir's there during app discovery).
27
+ loadDotenvForChecks();
22
28
  // Built-in CLI-owned checks (env, structure, deps, runtime) — registered
23
29
  // eagerly via side-effect imports so they're present even if no framework
24
30
  // package contributed any.
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAA;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAA;AAClF,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAA;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AACxD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAY/C,MAAM,UAAU,aAAa,CAAC,OAAyB,EAAE,IAAuB;IAC9E,OAAO;SACJ,OAAO,CAAC,QAAQ,CAAC;SACjB,WAAW,CAAC,gDAAgD,CAAC;SAC7D,MAAM,CAAC,QAAQ,EAAK,oEAAoE,CAAC;SACzF,MAAM,CAAC,OAAO,EAAM,6DAA6D,CAAC;SAClF,MAAM,CAAC,OAAO,EAAM,uDAAuD,CAAC;SAC5E,MAAM,CAAC,WAAW,EAAE,wDAAwD,CAAC;SAC7E,MAAM,CAAC,QAAQ,EAAK,oDAAoD,CAAC;SACzE,MAAM,CAAC,oBAAoB,EAAE,+CAA+C,CAAC;SAC7E,MAAM,CAAC,KAAK,EAAE,IAGd,EAAE,EAAE;QACH,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAA;YAChG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;QAED,2EAA2E;QAC3E,6EAA6E;QAC7E,+EAA+E;QAC/E,2EAA2E;QAC3E,mBAAmB,EAAE,CAAA;QAErB,yEAAyE;QACzE,0EAA0E;QAC1E,2BAA2B;QAC3B,iBAAiB,EAAE,CAAA;QAEnB,wCAAwC;QACxC,MAAM,iBAAiB,EAAE,CAAA;QAEzB,uEAAuE;QACvE,oEAAoE;QACpE,qEAAqE;QACrE,oEAAoE;QACpE,gEAAgE;QAChE,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;YAC5B,IAAI,CAAC;gBACH,MAAM,IAAI,CAAC,OAAO,EAAE,CAAA;gBACpB,aAAa,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,CAAC,CAAA;YACjE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,aAAa,CAAC;oBACZ,EAAE,EAAK,KAAK;oBACZ,KAAK,EAAE,CAAC,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;oBACxE,UAAU,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE;iBACnC,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;QAED,MAAM,OAAO,GAAwC,EAAE,CAAA;QACvD,IAAI,IAAI,CAAC,IAAI;YAAgB,OAAO,CAAC,IAAI,GAAK,IAAI,CAAA;QAClD,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,IAAI,CAAA;QAEvD,MAAM,UAAU,GAA0B,EAAE,CAAA;QAC5C,IAAI,IAAI,CAAC,OAAO;YAAE,UAAU,CAAC,OAAO,GAAG,IAAI,CAAA;QAE3C,2EAA2E;QAC3E,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;QAE7C,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;QACnC,CAAC;QAED,uDAAuD;QACvD,qEAAqE;QACrE,oEAAoE;QACpE,+CAA+C;QAC/C,MAAM,OAAO,GAAsB,EAAE,CAAA;QACrC,IAAI,IAAI,CAAC,GAAG;YAAE,OAAO,CAAC,GAAG,GAAG,IAAI,CAAA;QAChC,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QAE5D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QACf,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,CAAA;QAEnD,mEAAmE;QACnE,uEAAuE;QACvE,iBAAiB;QACjB,IAAI,SAAS,CAAC,OAAO,GAAG,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YACf,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAA;YACvC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAA;YAC7C,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;QACnC,CAAC;QACD,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAA;IACnC,CAAC,CAAC,CAAA;AACN,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Load `<cwd>/.env` into `process.env` so the fast-path (skip-boot) `doctor`'s
3
+ * env-var checks reflect what the app actually sees at runtime.
4
+ *
5
+ * `doctor` is in the CLI's NO_BOOT_EXACT set, so `bootstrap/app.ts`'s
6
+ * `import 'dotenv/config'` never runs. Without this, every check that reads
7
+ * `process.env` (AUTH_SECRET, APP_KEY, DATABASE_URL, …) falsely reports "unset"
8
+ * for vars defined in `.env`, producing red errors + a non-zero exit on a
9
+ * correctly-configured app.
10
+ *
11
+ * Non-override: a value already in `process.env` (a real exported env var —
12
+ * Docker / CI / Forge / a shell export) always wins, matching dotenv's runtime
13
+ * semantics. A missing or unreadable `.env` is fine — config can come from
14
+ * `process.env` directly, and checks fall back to that as before.
15
+ */
16
+ export declare function loadDotenvForChecks(cwd?: string): void;
17
+ //# sourceMappingURL=load-dotenv.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-dotenv.d.ts","sourceRoot":"","sources":["../../src/doctor/load-dotenv.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,GAAE,MAAsB,GAAG,IAAI,CAUrE"}
@@ -0,0 +1,32 @@
1
+ import { readFileSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import dotenv from 'dotenv';
4
+ /**
5
+ * Load `<cwd>/.env` into `process.env` so the fast-path (skip-boot) `doctor`'s
6
+ * env-var checks reflect what the app actually sees at runtime.
7
+ *
8
+ * `doctor` is in the CLI's NO_BOOT_EXACT set, so `bootstrap/app.ts`'s
9
+ * `import 'dotenv/config'` never runs. Without this, every check that reads
10
+ * `process.env` (AUTH_SECRET, APP_KEY, DATABASE_URL, …) falsely reports "unset"
11
+ * for vars defined in `.env`, producing red errors + a non-zero exit on a
12
+ * correctly-configured app.
13
+ *
14
+ * Non-override: a value already in `process.env` (a real exported env var —
15
+ * Docker / CI / Forge / a shell export) always wins, matching dotenv's runtime
16
+ * semantics. A missing or unreadable `.env` is fine — config can come from
17
+ * `process.env` directly, and checks fall back to that as before.
18
+ */
19
+ export function loadDotenvForChecks(cwd = process.cwd()) {
20
+ let parsed;
21
+ try {
22
+ parsed = dotenv.parse(readFileSync(path.join(cwd, '.env')));
23
+ }
24
+ catch {
25
+ return;
26
+ }
27
+ for (const [key, value] of Object.entries(parsed)) {
28
+ if (process.env[key] === undefined)
29
+ process.env[key] = value;
30
+ }
31
+ }
32
+ //# sourceMappingURL=load-dotenv.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-dotenv.js","sourceRoot":"","sources":["../../src/doctor/load-dotenv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAA;AACtC,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAA;AAE3B;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IAC7D,IAAI,MAA8B,CAAA;IAClC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAC,CAAA;IAC7D,CAAC;IAAC,MAAM,CAAC;QACP,OAAM;IACR,CAAC;IACD,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS;YAAE,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAA;IAC9D,CAAC;AACH,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rudderjs/cli",
3
- "version": "4.6.5",
3
+ "version": "4.6.6",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -22,8 +22,9 @@
22
22
  "dependencies": {
23
23
  "commander": "^12.0.0",
24
24
  "chalk": "^5.0.0",
25
+ "dotenv": "^16.4.0",
25
26
  "@clack/prompts": "^1.0.0",
26
- "@rudderjs/core": "^1.3.0",
27
+ "@rudderjs/core": "^1.5.0",
27
28
  "@rudderjs/console": "^1.1.0"
28
29
  },
29
30
  "peerDependencies": {
@@ -46,7 +47,7 @@
46
47
  "dev": "tsc -p tsconfig.build.json --watch",
47
48
  "typecheck": "tsc --noEmit",
48
49
  "lint": "eslint src",
49
- "test": "tsc -p tsconfig.test.json && node --test dist-test/index.test.js dist-test/commands/add.test.js dist-test/commands/remove.test.js dist-test/commands/tinker.test.js dist-test/doctor/orchestrator.test.js dist-test/doctor/reporter.test.js dist-test/doctor/fixer.test.js dist-test/doctor/built-in/built-in.test.js",
50
+ "test": "tsc -p tsconfig.test.json && node --test dist-test/index.test.js dist-test/commands/add.test.js dist-test/commands/remove.test.js dist-test/commands/tinker.test.js dist-test/doctor/orchestrator.test.js dist-test/doctor/reporter.test.js dist-test/doctor/fixer.test.js dist-test/doctor/load-dotenv.test.js dist-test/doctor/built-in/built-in.test.js",
50
51
  "clean": "rm -rf dist"
51
52
  }
52
53
  }