@rudderjs/cli 4.8.0 → 4.9.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.
Files changed (46) hide show
  1. package/dist/commands/add.d.ts.map +1 -1
  2. package/dist/commands/add.js +8 -3
  3. package/dist/commands/add.js.map +1 -1
  4. package/dist/commands/doctor.d.ts.map +1 -1
  5. package/dist/commands/doctor.js +3 -0
  6. package/dist/commands/doctor.js.map +1 -1
  7. package/dist/commands/make/_shared.d.ts.map +1 -1
  8. package/dist/commands/make/_shared.js +13 -7
  9. package/dist/commands/make/_shared.js.map +1 -1
  10. package/dist/commands/make/test.d.ts +17 -0
  11. package/dist/commands/make/test.d.ts.map +1 -0
  12. package/dist/commands/make/test.js +94 -0
  13. package/dist/commands/make/test.js.map +1 -0
  14. package/dist/commands/make.d.ts.map +1 -1
  15. package/dist/commands/make.js +2 -0
  16. package/dist/commands/make.js.map +1 -1
  17. package/dist/commands/module/make.d.ts.map +1 -1
  18. package/dist/commands/module/make.js +17 -10
  19. package/dist/commands/module/make.js.map +1 -1
  20. package/dist/commands/module/publish.d.ts.map +1 -1
  21. package/dist/commands/module/publish.js +12 -8
  22. package/dist/commands/module/publish.js.map +1 -1
  23. package/dist/commands/test.d.ts +34 -0
  24. package/dist/commands/test.d.ts.map +1 -0
  25. package/dist/commands/test.js +111 -0
  26. package/dist/commands/test.js.map +1 -0
  27. package/dist/commands/upgrade.d.ts.map +1 -1
  28. package/dist/commands/upgrade.js +4 -13
  29. package/dist/commands/upgrade.js.map +1 -1
  30. package/dist/doctor/built-in/index.d.ts +1 -0
  31. package/dist/doctor/built-in/index.d.ts.map +1 -1
  32. package/dist/doctor/built-in/index.js +1 -0
  33. package/dist/doctor/built-in/index.js.map +1 -1
  34. package/dist/doctor/built-in/production.d.ts +2 -0
  35. package/dist/doctor/built-in/production.d.ts.map +1 -0
  36. package/dist/doctor/built-in/production.js +218 -0
  37. package/dist/doctor/built-in/production.js.map +1 -0
  38. package/dist/doctor/load-package-checks.js +1 -1
  39. package/dist/doctor/load-package-checks.js.map +1 -1
  40. package/dist/doctor/orchestrator.d.ts +5 -0
  41. package/dist/doctor/orchestrator.d.ts.map +1 -1
  42. package/dist/doctor/orchestrator.js +4 -0
  43. package/dist/doctor/orchestrator.js.map +1 -1
  44. package/dist/index.js +3 -1
  45. package/dist/index.js.map +1 -1
  46. package/package.json +4 -4
@@ -0,0 +1,111 @@
1
+ import { existsSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { spawn } from 'node:child_process';
4
+ // ── tsx resolution ────────────────────────────────────────────
5
+ /**
6
+ * Locate the `tsx` binary the app uses to run TypeScript. Most Rudder apps
7
+ * already have it (the `pnpm rudder` script itself runs through tsx). We
8
+ * walk from `cwd` upward so monorepo-hoisted deps surface too — same shape
9
+ * as how doctor finds the user's tooling.
10
+ *
11
+ * Returns `null` when not found; the caller prints an install hint.
12
+ */
13
+ export function findTsx(cwd) {
14
+ let dir = cwd;
15
+ while (dir) {
16
+ const candidate = path.join(dir, 'node_modules', '.bin', 'tsx');
17
+ if (existsSync(candidate))
18
+ return candidate;
19
+ const parent = path.dirname(dir);
20
+ if (parent === dir)
21
+ break;
22
+ dir = parent;
23
+ }
24
+ return null;
25
+ }
26
+ // ── Argument builder ──────────────────────────────────────────
27
+ /**
28
+ * Translate the rudder-level positional + flags into the `tsx --test ...`
29
+ * argv that Node's built-in runner expects. Kept pure (no I/O) so it can
30
+ * be unit-tested without spawning a subprocess.
31
+ *
32
+ * Positional arg semantics:
33
+ * - Ends in `.ts` / `.test.ts` → treated as a file path; Node runs that
34
+ * file directly, ignoring directory discovery.
35
+ * - Anything else → passed to `--test-name-pattern` (matches `describe`
36
+ * and `it` labels), and Node discovers tests under `tests/`.
37
+ *
38
+ * When no positional is provided, Node discovers everything under `tests/`.
39
+ */
40
+ export function buildTestArgs(positional, opts) {
41
+ const out = ['--test'];
42
+ if (opts.watch)
43
+ out.push('--watch');
44
+ if (opts.coverage)
45
+ out.push('--experimental-test-coverage');
46
+ if (opts.only)
47
+ out.push('--test-only');
48
+ if (opts.bail)
49
+ out.push('--test-force-exit'); // stops the process on first failure
50
+ if (opts.reporter)
51
+ out.push(`--test-reporter=${opts.reporter}`);
52
+ // `--filter` is an alias for `--test-name-pattern`. Both can be used,
53
+ // explicit `--filter` wins when also passed alongside a positional.
54
+ let namePattern = opts.filter;
55
+ let pathArg;
56
+ if (positional) {
57
+ if (/\.ts$/.test(positional)) {
58
+ pathArg = positional;
59
+ }
60
+ else if (!namePattern) {
61
+ namePattern = positional;
62
+ }
63
+ }
64
+ if (namePattern)
65
+ out.push(`--test-name-pattern=${namePattern}`);
66
+ // Always end with the path arg (specific file) OR the `tests/` directory
67
+ // so Node has something to discover. Without this Node walks cwd and
68
+ // discovers unrelated test files (e.g. inside node_modules) — slow + wrong.
69
+ out.push(pathArg ?? 'tests');
70
+ return out;
71
+ }
72
+ // ── Command ───────────────────────────────────────────────────
73
+ export function testCommand(program) {
74
+ program
75
+ .command('test [filter]')
76
+ .description('Run the app\'s test suite (wraps `tsx --test tests/`)')
77
+ .option('-w, --watch', 're-run tests on file changes')
78
+ .option('-b, --bail', 'stop on first failure')
79
+ .option('--coverage', 'collect test coverage (Node --experimental-test-coverage)')
80
+ .option('--only', 'run only tests marked with .only()')
81
+ .option('--filter <pattern>', 'filter by test name (regex passed to Node --test-name-pattern)')
82
+ .option('--reporter <name>', 'Node test reporter name (spec / dot / tap / junit)')
83
+ .action((positional, opts) => {
84
+ const cwd = process.cwd();
85
+ const tsx = findTsx(cwd);
86
+ if (!tsx) {
87
+ console.error('[rudder test] tsx not found in node_modules/.bin.');
88
+ console.error(' Run `pnpm add -D tsx` (or yarn/npm/bun equivalent) and re-try.');
89
+ process.exit(1);
90
+ }
91
+ const args = buildTestArgs(positional, opts);
92
+ const child = spawn(tsx, args, {
93
+ cwd,
94
+ stdio: 'inherit',
95
+ // Windows can't exec node_modules/.bin/tsx (a .CMD shim) without a
96
+ // shell. Other platforms execute the script directly.
97
+ shell: process.platform === 'win32',
98
+ });
99
+ child.on('close', (code) => process.exit(code ?? 0));
100
+ child.on('error', (err) => {
101
+ console.error('[rudder test] failed to spawn tsx:', err.message);
102
+ process.exit(1);
103
+ });
104
+ });
105
+ }
106
+ /** @internal — exposed for unit tests */
107
+ export const _internal = {
108
+ findTsx,
109
+ buildTestArgs,
110
+ };
111
+ //# sourceMappingURL=test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/commands/test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA6BxC,UAAU,aAAa;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAyGvE,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1C;AA8CD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAG,MAAM,CAAA;IAChB,MAAM,EAAI,aAAa,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAyBD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAI,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,EAAE,EAAI,aAAa,GAClB,cAAc,EAAE,CAuBlB;AA2BD,UAAU,YAAY;IACpB,KAAK,EAAI,MAAM,CAAA;IACf,OAAO,EAAE,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;CACjE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAUzF;AAED,UAAU,YAAY;IACpB,IAAI,EAAa,MAAM,CAAA;IACvB,QAAQ,EAAS,MAAM,CAAA;IACvB,aAAa,EAAI,MAAM,CAAA;IACvB,eAAe,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IAC/C,aAAa,EAAI,MAAM,CAAA;IACvB,MAAM,EAAW,MAAM,CAAA;CACxB;AAED,KAAK,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;AAEpF;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAM,OAAO,EAAE,EACnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,OAAO,EAAG,eAAe,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB;AAMD,UAAU,QAAQ;IAChB,IAAI,EAAK,MAAM,CAAA;IACf,KAAK,EAAI,MAAM,CAAA;IACf,OAAO,EAAE,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;CACjE;AAED,UAAU,OAAO;IACf,IAAI,EAAM,MAAM,CAAA;IAChB,OAAO,EAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC7B,OAAO,EAAG,aAAa,CAAA;IACvB,MAAM,EAAI,aAAa,CAAA;IACvB,MAAM,EAAI,aAAa,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;CACjB;AA8ED,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAE/D;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAK,OAAO,EAAE,EAClB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CASxC;AAiCD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuLrD"}
1
+ {"version":3,"file":"upgrade.d.ts","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA6BxC,UAAU,aAAa;IAAG,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE;AAyGvE,UAAU,WAAW;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,gBAAgB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAC1C;AA8CD;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAG,MAAM,CAAA;IAChB,MAAM,EAAI,aAAa,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAyBD;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,EAAE,EAAI,MAAM,EACZ,IAAI,EAAE,aAAa,EACnB,EAAE,EAAI,aAAa,GAClB,cAAc,EAAE,CAuBlB;AA2BD,UAAU,YAAY;IACpB,KAAK,EAAI,MAAM,CAAA;IACf,OAAO,EAAE,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;CACjE;AAED;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAUzF;AAED,UAAU,YAAY;IACpB,IAAI,EAAa,MAAM,CAAA;IACvB,QAAQ,EAAS,MAAM,CAAA;IACvB,aAAa,EAAI,MAAM,CAAA;IACvB,eAAe,EAAE,YAAY,CAAC,SAAS,CAAC,GAAG,IAAI,CAAA;IAC/C,aAAa,EAAI,MAAM,CAAA;IACvB,MAAM,EAAW,MAAM,CAAA;CACxB;AAED,KAAK,eAAe,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;AAEpF;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,IAAI,EAAM,OAAO,EAAE,EACnB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,EACnC,OAAO,EAAG,eAAe,GACxB,OAAO,CAAC,YAAY,EAAE,CAAC,CA+BzB;AAMD,UAAU,QAAQ;IAChB,IAAI,EAAK,MAAM,CAAA;IACf,KAAK,EAAI,MAAM,CAAA;IACf,OAAO,EAAE,cAAc,GAAG,iBAAiB,GAAG,kBAAkB,CAAA;CACjE;AAED,UAAU,OAAO;IACf,IAAI,EAAM,MAAM,CAAA;IAChB,OAAO,EAAG,QAAQ,CAAC,SAAS,CAAC,CAAA;IAC7B,OAAO,EAAG,aAAa,CAAA;IACvB,MAAM,EAAI,aAAa,CAAA;IACvB,MAAM,EAAI,aAAa,CAAA;IACvB,QAAQ,EAAE,MAAM,CAAA;CACjB;AAoED,KAAK,gBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;AAE/D;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAK,OAAO,EAAE,EAClB,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC,CAAC,CASxC;AAiCD,wBAAgB,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAuLrD"}
@@ -369,20 +369,11 @@ function colorBump(current, target) {
369
369
  return green; // patch
370
370
  return dim;
371
371
  }
372
- function renderPlan(rows) {
373
- const nameWidth = Math.max(...rows.map(r => r.name.length));
374
- for (const row of rows) {
375
- const color = colorBump(row.current, row.latest);
376
- const left = row.name.padEnd(nameWidth);
377
- const arrow = dim('→');
378
- console.log(` ${left} ${dim(fmt(row.current))} ${arrow} ${color(fmt(row.target))} ${dim('(' + row.section + ')')}`);
379
- }
380
- }
381
372
  /**
382
- * Same as `renderPlan` but follows each row with an indented block of
383
- * `version headline` lines from the package's CHANGELOG (one per version in
384
- * the bump range). Rows whose CHANGELOG fetch returned nothing render as a
385
- * plain row — graceful degradation.
373
+ * Render the upgrade plan: one row per package, each followed by an indented
374
+ * block of `version headline` lines from the package's CHANGELOG (one per
375
+ * version in the bump range). Rows whose CHANGELOG fetch returned nothing
376
+ * render as a plain row — graceful degradation.
386
377
  */
387
378
  function renderPlanWithChangelogs(rows, changelogs) {
388
379
  const nameWidth = Math.max(...rows.map(r => r.name.length));
@@ -1 +1 @@
1
- {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgrade.js","sourceRoot":"","sources":["../../src/commands/upgrade.ts"],"names":[],"mappings":"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"}
@@ -9,5 +9,6 @@ import './env-vars.js';
9
9
  import './structure.js';
10
10
  import './deps.js';
11
11
  import './runtime.js';
12
+ import './production.js';
12
13
  export declare function loadBuiltInChecks(): void;
13
14
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/doctor/built-in/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,mBAAmB,CAAA;AAC1B,OAAO,sBAAsB,CAAA;AAC7B,OAAO,eAAe,CAAA;AACtB,OAAO,gBAAgB,CAAA;AACvB,OAAO,WAAW,CAAA;AAClB,OAAO,cAAc,CAAA;AAErB,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/doctor/built-in/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,mBAAmB,CAAA;AAC1B,OAAO,sBAAsB,CAAA;AAC7B,OAAO,eAAe,CAAA;AACtB,OAAO,gBAAgB,CAAA;AACvB,OAAO,WAAW,CAAA;AAClB,OAAO,cAAc,CAAA;AACrB,OAAO,iBAAiB,CAAA;AAExB,wBAAgB,iBAAiB,IAAI,IAAI,CAKxC"}
@@ -9,6 +9,7 @@ import './env-vars.js';
9
9
  import './structure.js';
10
10
  import './deps.js';
11
11
  import './runtime.js';
12
+ import './production.js';
12
13
  export function loadBuiltInChecks() {
13
14
  // Module loading is sufficient — side-effect imports above call
14
15
  // registerDoctorCheck() at module-init time. This function exists so the
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/doctor/built-in/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,mBAAmB,CAAA;AAC1B,OAAO,sBAAsB,CAAA;AAC7B,OAAO,eAAe,CAAA;AACtB,OAAO,gBAAgB,CAAA;AACvB,OAAO,WAAW,CAAA;AAClB,OAAO,cAAc,CAAA;AAErB,MAAM,UAAU,iBAAiB;IAC/B,gEAAgE;IAChE,yEAAyE;IACzE,qEAAqE;IACrE,cAAc;AAChB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/doctor/built-in/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,mBAAmB,CAAA;AAC1B,OAAO,sBAAsB,CAAA;AAC7B,OAAO,eAAe,CAAA;AACtB,OAAO,gBAAgB,CAAA;AACvB,OAAO,WAAW,CAAA;AAClB,OAAO,cAAc,CAAA;AACrB,OAAO,iBAAiB,CAAA;AAExB,MAAM,UAAU,iBAAiB;IAC/B,gEAAgE;IAChE,yEAAyE;IACzE,qEAAqE;IACrE,cAAc;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=production.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"production.d.ts","sourceRoot":"","sources":["../../../src/doctor/built-in/production.ts"],"names":[],"mappings":""}
@@ -0,0 +1,218 @@
1
+ import { readFileSync, existsSync } from 'node:fs';
2
+ import path from 'node:path';
3
+ import { registerDoctorCheck } from '@rudderjs/console';
4
+ /**
5
+ * Production-readiness checks — gated behind `rudder doctor --production`.
6
+ *
7
+ * These are deliberately strict: a green `--production` doctor is the
8
+ * pre-deploy gate. Each check enforces an invariant that would be a real
9
+ * incident in prod — security leak, broken deploy, accidental SQLite usage,
10
+ * etc. — but would false-fire in local development (which is why they're
11
+ * `productionOnly: true` and don't run in the default doctor pass).
12
+ *
13
+ * Designed to be run by CI before deploy:
14
+ *
15
+ * pnpm rudder doctor --production
16
+ *
17
+ * Exit code 1 on any non-green outcome.
18
+ */
19
+ // ── APP_DEBUG must be false ──────────────────────────────────
20
+ registerDoctorCheck({
21
+ id: 'production:app-debug',
22
+ category: 'production',
23
+ title: 'APP_DEBUG must be off',
24
+ productionOnly: true,
25
+ run() {
26
+ const v = (process.env['APP_DEBUG'] ?? '').toLowerCase();
27
+ if (v === 'true' || v === '1') {
28
+ return {
29
+ status: 'error',
30
+ message: `APP_DEBUG=${process.env['APP_DEBUG']} would leak stack traces + dump() output to clients`,
31
+ fix: 'Set APP_DEBUG=false in your production environment',
32
+ };
33
+ }
34
+ return { status: 'ok', message: 'off' };
35
+ },
36
+ });
37
+ // ── APP_ENV must be production ───────────────────────────────
38
+ registerDoctorCheck({
39
+ id: 'production:app-env',
40
+ category: 'production',
41
+ title: 'APP_ENV should be "production"',
42
+ productionOnly: true,
43
+ run() {
44
+ const v = process.env['APP_ENV'];
45
+ if (v === 'production')
46
+ return { status: 'ok', message: 'production' };
47
+ return {
48
+ status: 'warn',
49
+ message: `APP_ENV=${v ?? '<unset>'} (expected "production")`,
50
+ fix: 'Set APP_ENV=production in your production environment',
51
+ };
52
+ },
53
+ });
54
+ // ── APP_URL must be HTTPS ────────────────────────────────────
55
+ registerDoctorCheck({
56
+ id: 'production:app-url',
57
+ category: 'production',
58
+ title: 'APP_URL must be HTTPS',
59
+ productionOnly: true,
60
+ run() {
61
+ const v = process.env['APP_URL'];
62
+ if (!v)
63
+ return { status: 'warn', message: 'APP_URL unset', fix: 'Set APP_URL=https://your-domain in your production environment' };
64
+ if (v.startsWith('http://')) {
65
+ return {
66
+ status: 'error',
67
+ message: `APP_URL=${v} uses plain HTTP`,
68
+ fix: 'Change to https:// — auth cookies + CSP rely on the URL matching the scheme served',
69
+ };
70
+ }
71
+ return { status: 'ok', message: v };
72
+ },
73
+ });
74
+ // ── DATABASE_URL must not be local ───────────────────────────
75
+ registerDoctorCheck({
76
+ id: 'production:database-url',
77
+ category: 'production',
78
+ title: 'DATABASE_URL must point at a real database',
79
+ productionOnly: true,
80
+ run() {
81
+ const v = process.env['DATABASE_URL'];
82
+ if (!v)
83
+ return { status: 'ok', message: 'unset — assuming non-DB app' }; // no ORM = no problem
84
+ if (v.startsWith('file:') || v.startsWith('sqlite:')) {
85
+ return {
86
+ status: 'error',
87
+ message: `DATABASE_URL=${v} uses SQLite (file-based)`,
88
+ fix: 'SQLite is fine for dev/tests; production needs Postgres / MySQL / a managed DB',
89
+ };
90
+ }
91
+ if (/localhost|127\.0\.0\.1|0\.0\.0\.0/.test(v)) {
92
+ return {
93
+ status: 'error',
94
+ message: `DATABASE_URL points at the local machine`,
95
+ fix: 'Point at your managed/clustered DB host — the app server should not be the DB server in prod',
96
+ };
97
+ }
98
+ return { status: 'ok', message: redactDsn(v) };
99
+ },
100
+ });
101
+ // ── No `@rudderjs/*` on floating ranges ─────────────────────
102
+ registerDoctorCheck({
103
+ id: 'production:rudder-pinning',
104
+ category: 'production',
105
+ title: '@rudderjs/* deps should be pinned (no `latest`/`*`)',
106
+ productionOnly: true,
107
+ run() {
108
+ const pkgPath = path.join(process.cwd(), 'package.json');
109
+ if (!existsSync(pkgPath))
110
+ return { status: 'warn', message: 'no package.json in cwd' };
111
+ let pkg;
112
+ try {
113
+ pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
114
+ }
115
+ catch {
116
+ return { status: 'error', message: 'package.json not parseable' };
117
+ }
118
+ const floating = [];
119
+ for (const section of ['dependencies', 'devDependencies', 'peerDependencies']) {
120
+ const map = pkg[section];
121
+ if (!map)
122
+ continue;
123
+ for (const [name, range] of Object.entries(map)) {
124
+ if (!name.startsWith('@rudderjs/'))
125
+ continue;
126
+ const t = (range ?? '').trim();
127
+ if (t === 'latest' || t === '*' || t === 'next' || t === '')
128
+ floating.push(name);
129
+ }
130
+ }
131
+ if (floating.length === 0)
132
+ return { status: 'ok', message: 'every @rudderjs/* range is pinned' };
133
+ return {
134
+ status: 'warn',
135
+ message: `${floating.length} dep(s) on a floating range: ${floating.join(', ')}`,
136
+ fix: 'Pin these to caret ranges (e.g. ^1.5.1) so deploys aren\'t at the mercy of the dist-tag moving',
137
+ };
138
+ },
139
+ });
140
+ // ── No `workspace:*` refs ────────────────────────────────────
141
+ registerDoctorCheck({
142
+ id: 'production:workspace-refs',
143
+ category: 'production',
144
+ title: 'No `workspace:*` refs in package.json',
145
+ productionOnly: true,
146
+ run() {
147
+ const pkgPath = path.join(process.cwd(), 'package.json');
148
+ if (!existsSync(pkgPath))
149
+ return { status: 'warn', message: 'no package.json in cwd' };
150
+ let pkg;
151
+ try {
152
+ pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
153
+ }
154
+ catch {
155
+ return { status: 'error', message: 'package.json not parseable' };
156
+ }
157
+ const workspaceRefs = [];
158
+ for (const section of ['dependencies', 'devDependencies', 'peerDependencies']) {
159
+ const map = pkg[section];
160
+ if (!map)
161
+ continue;
162
+ for (const [name, range] of Object.entries(map)) {
163
+ if (typeof range === 'string' && range.trim().startsWith('workspace:')) {
164
+ workspaceRefs.push(name);
165
+ }
166
+ }
167
+ }
168
+ if (workspaceRefs.length === 0)
169
+ return { status: 'ok', message: 'no workspace: refs' };
170
+ return {
171
+ status: 'error',
172
+ message: `${workspaceRefs.length} dep(s) use workspace: — only resolvable inside the monorepo: ${workspaceRefs.join(', ')}`,
173
+ fix: 'Replace each `workspace:*` with a real version range before publishing/deploying',
174
+ };
175
+ },
176
+ });
177
+ // ── Build output exists ──────────────────────────────────────
178
+ registerDoctorCheck({
179
+ id: 'production:dist-exists',
180
+ category: 'production',
181
+ title: 'dist/ build output must exist',
182
+ productionOnly: true,
183
+ run() {
184
+ if (existsSync(path.join(process.cwd(), 'dist')))
185
+ return { status: 'ok', message: 'present' };
186
+ return {
187
+ status: 'error',
188
+ message: 'no dist/ in cwd',
189
+ fix: 'Run your build step (`pnpm build` typically) before deploying',
190
+ };
191
+ },
192
+ });
193
+ // ── Providers manifest must exist ───────────────────────────
194
+ registerDoctorCheck({
195
+ id: 'production:providers-manifest',
196
+ category: 'production',
197
+ title: 'bootstrap/cache/providers.json must exist',
198
+ productionOnly: true,
199
+ run() {
200
+ if (existsSync(path.join(process.cwd(), 'bootstrap', 'cache', 'providers.json'))) {
201
+ return { status: 'ok', message: 'present' };
202
+ }
203
+ return {
204
+ status: 'error',
205
+ message: 'manifest missing — auto-discovery has nothing to load from',
206
+ fix: 'Run `pnpm rudder providers:discover` as part of your deploy pipeline',
207
+ };
208
+ },
209
+ });
210
+ // ── Helpers ──────────────────────────────────────────────────
211
+ /**
212
+ * Trim credentials out of a DSN-ish URL so the doctor report doesn't leak
213
+ * secrets in CI logs. `postgres://user:secret@host:5432/db` → `postgres://[redacted]@host:5432/db`.
214
+ */
215
+ function redactDsn(s) {
216
+ return s.replace(/:\/\/[^@]+@/, '://[redacted]@');
217
+ }
218
+ //# sourceMappingURL=production.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"production.js","sourceRoot":"","sources":["../../../src/doctor/built-in/production.ts"],"names":[],"mappings":"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"}
@@ -24,7 +24,7 @@ const PACKAGES_WITH_CHECKS = [
24
24
  // rules. The dynamic import is `tryImport`-wrapped below, so packages not
25
25
  // installed in the user's app are silently skipped.
26
26
  '@rudderjs/auth', '@rudderjs/session', '@rudderjs/hash',
27
- '@rudderjs/orm-prisma', '@rudderjs/orm-drizzle',
27
+ '@rudderjs/orm', '@rudderjs/orm-prisma', '@rudderjs/orm-drizzle',
28
28
  '@rudderjs/cashier-paddle',
29
29
  '@rudderjs/queue-bullmq', '@rudderjs/queue-inngest',
30
30
  '@rudderjs/broadcast-redis',
@@ -1 +1 @@
1
- {"version":3,"file":"load-package-checks.js","sourceRoot":"","sources":["../../src/doctor/load-package-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,MAAM,oBAAoB,GAAa;IACrC,qEAAqE;IACrE,yEAAyE;IACzE,0EAA0E;IAC1E,oDAAoD;IACpD,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB;IACvD,sBAAsB,EAAE,uBAAuB;IAC/C,0BAA0B;IAC1B,wBAAwB,EAAE,yBAAyB;IACnD,2BAA2B;IAC3B,gBAAgB;IAChB,cAAc,EAAE,eAAe;IAC/B,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB;CAC9D,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,kFAAkF;IAClF,+EAA+E;IAC/E,wEAAwE;IACxE,2EAA2E;IAC3E,wEAAwE;IACxE,8EAA8E;IAC9E,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;YACjF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAM;YAClC,MAAM,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC,CAAC,CAAC,CAAA;AACL,CAAC"}
1
+ {"version":3,"file":"load-package-checks.js","sourceRoot":"","sources":["../../src/doctor/load-package-checks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,MAAM,SAAS,CAAA;AACxB,OAAO,IAAI,MAAM,WAAW,CAAA;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AACxC,MAAM,oBAAoB,GAAa;IACrC,qEAAqE;IACrE,yEAAyE;IACzE,0EAA0E;IAC1E,oDAAoD;IACpD,gBAAgB,EAAE,mBAAmB,EAAE,gBAAgB;IACvD,eAAe,EAAE,sBAAsB,EAAE,uBAAuB;IAChE,0BAA0B;IAC1B,wBAAwB,EAAE,yBAAyB;IACnD,2BAA2B;IAC3B,gBAAgB;IAChB,cAAc,EAAE,eAAe;IAC/B,qBAAqB,EAAE,iBAAiB,EAAE,mBAAmB;CAC9D,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB;IACrC,kFAAkF;IAClF,+EAA+E;IAC/E,wEAAwE;IACxE,2EAA2E;IAC3E,wEAAwE;IACxE,8EAA8E;IAC9E,MAAM,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACvD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,GAAG,EAAE,MAAM,EAAE,WAAW,CAAC,CAAA;YACjF,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC;gBAAE,OAAM;YAClC,MAAM,MAAM,CAAC,kBAAkB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAA;QAC7D,CAAC;QAAC,MAAM,CAAC;YACP,+DAA+D;QACjE,CAAC;IACH,CAAC,CAAC,CAAC,CAAA;AACL,CAAC"}
@@ -13,6 +13,11 @@ export interface CheckOutcome {
13
13
  export interface RunOptions {
14
14
  /** If true, include checks marked `needsBoot: true`. */
15
15
  deep?: boolean;
16
+ /**
17
+ * If true, include checks marked `productionOnly: true` (prod-readiness
18
+ * invariants that would false-fire in dev). The `--production` flag.
19
+ */
20
+ production?: boolean;
16
21
  /** Filter checks by id substring (used by `--only` flag in future). */
17
22
  filter?: string;
18
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/doctor/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAQ,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAK,MAAM,CAAA;IAChB,MAAM,EAAI,YAAY,CAAA;IACtB,OAAO,EAAG,MAAM,CAAA;IAChB,GAAG,CAAC,EAAM,MAAM,CAAA;IAChB,MAAM,CAAC,EAAG,MAAM,CAAA;IAChB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,IAAI,CAAC,EAAK,OAAO,CAAA;IACjB,uEAAuE;IACvE,MAAM,CAAC,EAAG,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,OAAO,EAAG,MAAM,CAAA;IAChB,MAAM,EAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACtD;AA6BD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CA8BzE"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../src/doctor/orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAA6B,YAAY,EAAE,MAAM,mBAAmB,CAAA;AAGhF,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAQ,MAAM,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAK,MAAM,CAAA;IAChB,MAAM,EAAI,YAAY,CAAA;IACtB,OAAO,EAAG,MAAM,CAAA;IAChB,GAAG,CAAC,EAAM,MAAM,CAAA;IAChB,MAAM,CAAC,EAAG,MAAM,CAAA;IAChB,6CAA6C;IAC7C,UAAU,EAAE,MAAM,CAAA;CACnB;AAED,MAAM,WAAW,UAAU;IACzB,wDAAwD;IACxD,IAAI,CAAC,EAAK,OAAO,CAAA;IACjB;;;OAGG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,uEAAuE;IACvE,MAAM,CAAC,EAAG,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,YAAY,EAAE,CAAA;IACxB,OAAO,EAAG,MAAM,CAAA;IAChB,MAAM,EAAI;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAA;CACtD;AA6BD;;;;GAIG;AACH,wBAAsB,SAAS,CAAC,IAAI,GAAE,UAAe,GAAG,OAAO,CAAC,SAAS,CAAC,CAiCzE"}
@@ -38,6 +38,10 @@ export async function runChecks(opts = {}) {
38
38
  const all = getRegisteredChecks().filter(c => {
39
39
  if (!opts.deep && c.needsBoot)
40
40
  return false;
41
+ // productionOnly checks only run under --production — they'd false-fire
42
+ // in dev (e.g. APP_DEBUG must be false would block local development).
43
+ if (!opts.production && c.productionOnly)
44
+ return false;
41
45
  // --only <substring> matches EITHER id OR category — `--only orm`
42
46
  // catches `orm-prisma:db-connect` AND `orm-drizzle:schema`; `--only runtime`
43
47
  // catches every `category: 'runtime'` check regardless of its package prefix.
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/doctor/orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../src/doctor/orchestrator.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -13,6 +13,7 @@ import { removeCommand } from './commands/remove.js';
13
13
  import { upgradeCommand } from './commands/upgrade.js';
14
14
  import { keyGenerateCommand } from './commands/key-generate.js';
15
15
  import { aboutCommand } from './commands/about.js';
16
+ import { testCommand } from './commands/test.js';
16
17
  import { doctorCommand } from './commands/doctor.js';
17
18
  import { tinkerCommand } from './commands/tinker.js';
18
19
  import { rudder, parseSignature, CancelledError, commandObservers } from '@rudderjs/console';
@@ -333,6 +334,7 @@ async function main() {
333
334
  upgradeCommand(program);
334
335
  keyGenerateCommand(program);
335
336
  aboutCommand(program);
337
+ testCommand(program);
336
338
  doctorCommand(program, { bootApp });
337
339
  tinkerCommand(program);
338
340
  // Commands that scan files / manage tooling state must work even when the
@@ -364,7 +366,7 @@ async function main() {
364
366
  'providers:discover', 'module:publish', 'view:sync', 'routes:sync',
365
367
  'db:generate', 'db:push',
366
368
  'migrate', 'migrate:fresh', 'migrate:status',
367
- 'add', 'remove', 'upgrade', 'key:generate', 'about',
369
+ 'add', 'remove', 'upgrade', 'key:generate', 'about', 'test',
368
370
  // `doctor` fast-path runs filesystem/env checks only. `--deep` is handled
369
371
  // inside the command's handler, which boots the app on demand (Phase 4).
370
372
  'doctor',