@rudderjs/cli 4.3.0 → 4.4.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/dist/commands/add.d.ts +42 -0
- package/dist/commands/add.d.ts.map +1 -0
- package/dist/commands/add.js +475 -0
- package/dist/commands/add.js.map +1 -0
- package/dist/commands/remove.d.ts +24 -0
- package/dist/commands/remove.d.ts.map +1 -0
- package/dist/commands/remove.js +170 -0
- package/dist/commands/remove.js.map +1 -0
- package/dist/index.js +23 -1
- package/dist/index.js.map +1 -1
- package/package.json +5 -5
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
type PackageManager = 'pnpm' | 'npm' | 'yarn' | 'bun';
|
|
3
|
+
/** Detect PM from npm_config_user_agent (set by every modern PM). Falls back to pnpm. */
|
|
4
|
+
declare function detectPackageManager(): PackageManager;
|
|
5
|
+
type PackageSpec = {
|
|
6
|
+
/** Short name used in `rudder add <name>`. */
|
|
7
|
+
alias: string;
|
|
8
|
+
/** Full npm package name. */
|
|
9
|
+
npmName: string;
|
|
10
|
+
/** Generates the config file body. Pure — no I/O. */
|
|
11
|
+
config?: {
|
|
12
|
+
key: string;
|
|
13
|
+
template: (ctx: {
|
|
14
|
+
orm: 'prisma' | 'drizzle' | null;
|
|
15
|
+
}) => string;
|
|
16
|
+
};
|
|
17
|
+
/** Other aliases that must already be installed (or selected in the same `add` run). */
|
|
18
|
+
requires?: string[];
|
|
19
|
+
/** When set, the project must use this ORM. */
|
|
20
|
+
requiresOrm?: 'prisma';
|
|
21
|
+
/** One-line post-install hint printed to the user. */
|
|
22
|
+
hint?: string;
|
|
23
|
+
};
|
|
24
|
+
declare function findSpec(name: string): PackageSpec | null;
|
|
25
|
+
declare function detectOrm(cwd: string): 'prisma' | 'drizzle' | null;
|
|
26
|
+
/**
|
|
27
|
+
* Insert a new `import <key> from './<key>.js'` line + a new entry in the
|
|
28
|
+
* `const configs = { ... }` object. Idempotent — bails cleanly if the key is
|
|
29
|
+
* already present or the file shape is too custom to safely edit.
|
|
30
|
+
*
|
|
31
|
+
* Returns `'ok' | 'already-registered' | 'unrecognized-shape'`.
|
|
32
|
+
*/
|
|
33
|
+
export declare function registerConfigKey(indexPath: string, key: string): 'ok' | 'already-registered' | 'unrecognized-shape';
|
|
34
|
+
export declare function addCommand(program: Command): void;
|
|
35
|
+
export declare const _internal: {
|
|
36
|
+
REGISTRY: readonly PackageSpec[];
|
|
37
|
+
findSpec: typeof findSpec;
|
|
38
|
+
detectOrm: typeof detectOrm;
|
|
39
|
+
detectPackageManager: typeof detectPackageManager;
|
|
40
|
+
};
|
|
41
|
+
export {};
|
|
42
|
+
//# sourceMappingURL=add.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.d.ts","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AAIxC,KAAK,cAAc,GAAG,MAAM,GAAG,KAAK,GAAG,MAAM,GAAG,KAAK,CAAA;AAErD,yFAAyF;AACzF,iBAAS,oBAAoB,IAAI,cAAc,CAS9C;AAsBD,KAAK,WAAW,GAAG;IACjB,8CAA8C;IAC9C,KAAK,EAAK,MAAM,CAAA;IAChB,6BAA6B;IAC7B,OAAO,EAAG,MAAM,CAAA;IAChB,qDAAqD;IACrD,MAAM,CAAC,EAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,CAAC,GAAG,EAAE;YAAE,GAAG,EAAE,QAAQ,GAAG,SAAS,GAAG,IAAI,CAAA;SAAE,KAAK,MAAM,CAAA;KAAE,CAAA;IAC1F,wFAAwF;IACxF,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAA;IACnB,+CAA+C;IAC/C,WAAW,CAAC,EAAE,QAAQ,CAAA;IACtB,sDAAsD;IACtD,IAAI,CAAC,EAAK,MAAM,CAAA;CACjB,CAAA;AA6CD,iBAAS,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAGlD;AAID,iBAAS,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,GAAG,IAAI,CAQ3D;AAYD;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,oBAAoB,GAAG,oBAAoB,CAmCpH;AAcD,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2FjD;AA6QD,eAAO,MAAM,SAAS;;;;;CAA0D,CAAA"}
|
|
@@ -0,0 +1,475 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { spawn } from 'node:child_process';
|
|
4
|
+
/** Detect PM from npm_config_user_agent (set by every modern PM). Falls back to pnpm. */
|
|
5
|
+
function detectPackageManager() {
|
|
6
|
+
const ua = process.env['npm_config_user_agent'] ?? '';
|
|
7
|
+
if (ua.startsWith('pnpm'))
|
|
8
|
+
return 'pnpm';
|
|
9
|
+
if (ua.startsWith('yarn'))
|
|
10
|
+
return 'yarn';
|
|
11
|
+
if (ua.startsWith('bun'))
|
|
12
|
+
return 'bun';
|
|
13
|
+
if (ua.startsWith('npm'))
|
|
14
|
+
return 'npm';
|
|
15
|
+
// If invoked directly via `node bin/rudder.js`, the env var is absent.
|
|
16
|
+
// pnpm-workspace.yaml is the strongest signal for our monorepo / scaffolded apps.
|
|
17
|
+
return 'pnpm';
|
|
18
|
+
}
|
|
19
|
+
function pmAdd(pm, dep) {
|
|
20
|
+
switch (pm) {
|
|
21
|
+
case 'pnpm': return ['add', dep];
|
|
22
|
+
case 'npm': return ['install', dep];
|
|
23
|
+
case 'yarn': return ['add', dep];
|
|
24
|
+
case 'bun': return ['add', dep];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
const REGISTRY = [
|
|
28
|
+
// Auth & Security
|
|
29
|
+
{ alias: 'auth', npmName: '@rudderjs/auth', config: { key: 'auth', template: () => CFG_AUTH } },
|
|
30
|
+
{ alias: 'sanctum', npmName: '@rudderjs/sanctum', config: { key: 'sanctum', template: () => CFG_SANCTUM }, requires: ['auth'] },
|
|
31
|
+
{ alias: 'passport', npmName: '@rudderjs/passport', config: { key: 'passport', template: () => CFG_PASSPORT }, requires: ['auth'], requiresOrm: 'prisma', hint: 'OAuth2 ready: /oauth/authorize, /oauth/token — run `rudder passport:keys` then `rudder passport:client <name>`' },
|
|
32
|
+
{ alias: 'socialite', npmName: '@rudderjs/socialite', config: { key: 'socialite', template: () => CFG_SOCIALITE }, hint: 'Set <PROVIDER>_CLIENT_ID and <PROVIDER>_CLIENT_SECRET in .env (e.g. GITHUB_CLIENT_ID).' },
|
|
33
|
+
{ alias: 'crypt', npmName: '@rudderjs/crypt', config: { key: 'crypt', template: () => CFG_CRYPT }, hint: 'Set APP_KEY in .env (32-byte base64) before encrypting anything.' },
|
|
34
|
+
// Infrastructure
|
|
35
|
+
{ alias: 'queue', npmName: '@rudderjs/queue', config: { key: 'queue', template: () => CFG_QUEUE }, hint: 'Background jobs: `import { Bus } from "@rudderjs/queue"; Bus.dispatch(new MyJob())`.' },
|
|
36
|
+
{ alias: 'storage', npmName: '@rudderjs/storage', config: { key: 'storage', template: () => CFG_STORAGE }, hint: 'File uploads: `import { Storage } from "@rudderjs/storage"; Storage.disk().put(...)`.' },
|
|
37
|
+
{ alias: 'scheduler', npmName: '@rudderjs/schedule', hint: 'Schedule tasks in routes/console.ts via `Schedule.command(...)`.' },
|
|
38
|
+
// Communication
|
|
39
|
+
{ alias: 'mail', npmName: '@rudderjs/mail', config: { key: 'mail', template: () => CFG_MAIL }, hint: 'Default mailer is `log` (writes to stdout). Set MAIL_MAILER=smtp + SMTP_* in .env for real delivery.' },
|
|
40
|
+
{ alias: 'notifications', npmName: '@rudderjs/notification', hint: 'Multi-channel notifications: `rudder make:notification Welcome`.' },
|
|
41
|
+
{ alias: 'broadcast', npmName: '@rudderjs/broadcast', hint: 'Real-time channels: define them in routes/channels.ts.' },
|
|
42
|
+
{ alias: 'sync', npmName: '@rudderjs/sync', config: { key: 'sync', template: ({ orm }) => buildSyncConfig(orm) }, hint: 'Collaborative Yjs docs: WebSocket endpoint at /ws-sync.' },
|
|
43
|
+
// i18n
|
|
44
|
+
{ alias: 'localization', npmName: '@rudderjs/localization', config: { key: 'localization', template: () => CFG_LOCALIZATION }, hint: 'i18n: `import { trans } from "@rudderjs/localization"`.' },
|
|
45
|
+
// Developer experience
|
|
46
|
+
{ alias: 'pennant', npmName: '@rudderjs/pennant', config: { key: 'pennant', template: () => CFG_PENNANT }, hint: 'Feature flags: `import { Feature } from "@rudderjs/pennant"`.' },
|
|
47
|
+
{ alias: 'http', npmName: '@rudderjs/http', hint: 'Fluent fetch client: `import { Http } from "@rudderjs/http"`.' },
|
|
48
|
+
{ alias: 'process', npmName: '@rudderjs/process', hint: 'Shell execution: `import { Process } from "@rudderjs/process"`.' },
|
|
49
|
+
{ alias: 'concurrency', npmName: '@rudderjs/concurrency', hint: 'Worker threads: `import { pool } from "@rudderjs/concurrency"`.' },
|
|
50
|
+
{ alias: 'terminal', npmName: '@rudderjs/terminal', hint: 'Rich terminal UI: `rudder make:terminal <Name>`.' },
|
|
51
|
+
// Media
|
|
52
|
+
{ alias: 'image', npmName: '@rudderjs/image', hint: 'Image processing: `import { Image } from "@rudderjs/image"`.' },
|
|
53
|
+
// Observability
|
|
54
|
+
{ alias: 'telescope', npmName: '@rudderjs/telescope', config: { key: 'telescope', template: () => CFG_TELESCOPE }, hint: 'Telescope dashboard: /telescope (requests, queries, jobs, exceptions).' },
|
|
55
|
+
{ alias: 'pulse', npmName: '@rudderjs/pulse', config: { key: 'pulse', template: () => CFG_PULSE }, hint: 'Pulse dashboard: /pulse (throughput, latency, hit rates).' },
|
|
56
|
+
{ alias: 'horizon', npmName: '@rudderjs/horizon', config: { key: 'horizon', template: () => CFG_HORIZON }, hint: 'Horizon dashboard: /horizon (queue lifecycle, workers).' },
|
|
57
|
+
// AI & tooling
|
|
58
|
+
{ alias: 'ai', npmName: '@rudderjs/ai', config: { key: 'ai', template: () => CFG_AI }, hint: 'AI agents: set ANTHROPIC_API_KEY (or OPENAI_API_KEY / GOOGLE_AI_API_KEY) in .env.' },
|
|
59
|
+
{ alias: 'mcp', npmName: '@rudderjs/mcp', hint: 'Model Context Protocol: `rudder make:mcp-server <Name>`.' },
|
|
60
|
+
{ alias: 'boost', npmName: '@rudderjs/boost', hint: 'AI coding DX: `rudder boost:install` to wire your assistant.' },
|
|
61
|
+
];
|
|
62
|
+
function findSpec(name) {
|
|
63
|
+
const normalized = name.startsWith('@rudderjs/') ? name.slice('@rudderjs/'.length) : name;
|
|
64
|
+
return REGISTRY.find(p => p.alias === normalized) ?? null;
|
|
65
|
+
}
|
|
66
|
+
// ── ORM detection ─────────────────────────────────────────────
|
|
67
|
+
function detectOrm(cwd) {
|
|
68
|
+
const pkgPath = path.join(cwd, 'package.json');
|
|
69
|
+
if (!existsSync(pkgPath))
|
|
70
|
+
return null;
|
|
71
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
|
72
|
+
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
73
|
+
if ('@rudderjs/orm-prisma' in deps)
|
|
74
|
+
return 'prisma';
|
|
75
|
+
if ('@rudderjs/orm-drizzle' in deps)
|
|
76
|
+
return 'drizzle';
|
|
77
|
+
return null;
|
|
78
|
+
}
|
|
79
|
+
function isInstalled(cwd, npmName) {
|
|
80
|
+
const pkgPath = path.join(cwd, 'package.json');
|
|
81
|
+
if (!existsSync(pkgPath))
|
|
82
|
+
return false;
|
|
83
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
|
84
|
+
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
85
|
+
return npmName in deps;
|
|
86
|
+
}
|
|
87
|
+
// ── config/index.ts surgical edit ─────────────────────────────
|
|
88
|
+
/**
|
|
89
|
+
* Insert a new `import <key> from './<key>.js'` line + a new entry in the
|
|
90
|
+
* `const configs = { ... }` object. Idempotent — bails cleanly if the key is
|
|
91
|
+
* already present or the file shape is too custom to safely edit.
|
|
92
|
+
*
|
|
93
|
+
* Returns `'ok' | 'already-registered' | 'unrecognized-shape'`.
|
|
94
|
+
*/
|
|
95
|
+
export function registerConfigKey(indexPath, key) {
|
|
96
|
+
const src = readFileSync(indexPath, 'utf8');
|
|
97
|
+
// Already wired? Check both the import and the configs map.
|
|
98
|
+
if (new RegExp(`from '\\./${key}\\.js'`).test(src))
|
|
99
|
+
return 'already-registered';
|
|
100
|
+
// Find the last `import X from './X.js'` line.
|
|
101
|
+
const importRe = /^import\s+\w+\s+from\s+'\.\/(\w+)\.js'\s*$/gm;
|
|
102
|
+
let lastImportEnd = -1;
|
|
103
|
+
let match;
|
|
104
|
+
while ((match = importRe.exec(src)) !== null)
|
|
105
|
+
lastImportEnd = match.index + match[0].length;
|
|
106
|
+
if (lastImportEnd === -1)
|
|
107
|
+
return 'unrecognized-shape';
|
|
108
|
+
// Find `const configs = { ... }` block.
|
|
109
|
+
const configsRe = /const\s+configs\s*=\s*\{([^}]*)\}/;
|
|
110
|
+
const configsMatch = configsRe.exec(src);
|
|
111
|
+
if (!configsMatch)
|
|
112
|
+
return 'unrecognized-shape';
|
|
113
|
+
// Compose the inserts. Use a uniform import format (no fancy column alignment
|
|
114
|
+
// — we don't try to match the user's spacing — but pad to the visual width of
|
|
115
|
+
// the longest existing import so it still reads cleanly).
|
|
116
|
+
const longestKey = Math.max(...[...src.matchAll(importRe)].map(m => m[1].length));
|
|
117
|
+
const padded = key.padEnd(Math.max(longestKey, key.length));
|
|
118
|
+
const newImport = `\nimport ${padded} from './${key}.js'`;
|
|
119
|
+
const existingKeys = configsMatch[1].trim();
|
|
120
|
+
const newKeys = existingKeys
|
|
121
|
+
? `${existingKeys.replace(/,?\s*$/, '')}, ${key}`
|
|
122
|
+
: key;
|
|
123
|
+
const out = src.slice(0, lastImportEnd) + newImport + src.slice(lastImportEnd, configsMatch.index)
|
|
124
|
+
+ `const configs = { ${newKeys} }` + src.slice(configsMatch.index + configsMatch[0].length);
|
|
125
|
+
writeFileSync(indexPath, out);
|
|
126
|
+
return 'ok';
|
|
127
|
+
}
|
|
128
|
+
// ── Child-process runner ──────────────────────────────────────
|
|
129
|
+
function runChild(cmd, args, cwd) {
|
|
130
|
+
return new Promise((resolve) => {
|
|
131
|
+
const child = spawn(cmd, args, { cwd, stdio: 'inherit', shell: false });
|
|
132
|
+
child.on('close', (code) => resolve(code === 0));
|
|
133
|
+
child.on('error', () => resolve(false));
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
// ── Command ───────────────────────────────────────────────────
|
|
137
|
+
export function addCommand(program) {
|
|
138
|
+
program
|
|
139
|
+
.command('add <package>')
|
|
140
|
+
.description('Install a RudderJS package — handles deps, config, and provider discovery')
|
|
141
|
+
.action(async (packageName) => {
|
|
142
|
+
const cwd = process.cwd();
|
|
143
|
+
const spec = findSpec(packageName);
|
|
144
|
+
if (!spec) {
|
|
145
|
+
const valid = REGISTRY.map(p => p.alias).join(', ');
|
|
146
|
+
console.error(`[rudder add] Unknown package "${packageName}".\n Available: ${valid}`);
|
|
147
|
+
process.exit(1);
|
|
148
|
+
}
|
|
149
|
+
// Idempotency — already installed?
|
|
150
|
+
if (isInstalled(cwd, spec.npmName)) {
|
|
151
|
+
console.log(` ${spec.npmName} is already installed.`);
|
|
152
|
+
if (spec.config && existsSync(path.join(cwd, 'config', `${spec.config.key}.ts`))) {
|
|
153
|
+
console.log(` config/${spec.config.key}.ts exists — nothing to do.`);
|
|
154
|
+
return;
|
|
155
|
+
}
|
|
156
|
+
// Package installed but config missing — continue and generate it.
|
|
157
|
+
}
|
|
158
|
+
// ORM requirement
|
|
159
|
+
const orm = detectOrm(cwd);
|
|
160
|
+
if (spec.requiresOrm && orm !== spec.requiresOrm) {
|
|
161
|
+
console.error(`[rudder add] ${spec.alias} requires Prisma. Detected: ${orm ?? 'none'}.`);
|
|
162
|
+
console.error(` Add the ORM first: pnpm add @rudderjs/orm @rudderjs/orm-${spec.requiresOrm}`);
|
|
163
|
+
process.exit(1);
|
|
164
|
+
}
|
|
165
|
+
// Dependency requirements
|
|
166
|
+
if (spec.requires?.length) {
|
|
167
|
+
const pkg = JSON.parse(readFileSync(path.join(cwd, 'package.json'), 'utf8'));
|
|
168
|
+
const deps = pkg.dependencies ?? {};
|
|
169
|
+
for (const req of spec.requires) {
|
|
170
|
+
const reqSpec = REGISTRY.find(p => p.alias === req);
|
|
171
|
+
if (reqSpec && !(reqSpec.npmName in deps)) {
|
|
172
|
+
console.error(`[rudder add] ${spec.alias} requires ${req}. Run \`rudder add ${req}\` first.`);
|
|
173
|
+
process.exit(1);
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
// 1. Install the dependency
|
|
178
|
+
const pm = detectPackageManager();
|
|
179
|
+
if (!isInstalled(cwd, spec.npmName)) {
|
|
180
|
+
console.log(`\n Adding ${spec.npmName}...`);
|
|
181
|
+
const ok = await runChild(pm, pmAdd(pm, spec.npmName), cwd);
|
|
182
|
+
if (!ok) {
|
|
183
|
+
console.error(`[rudder add] ${pm} ${pmAdd(pm, spec.npmName).join(' ')} failed.`);
|
|
184
|
+
process.exit(1);
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
// 2. Generate config file (idempotent — skip if exists)
|
|
188
|
+
if (spec.config) {
|
|
189
|
+
const configDir = path.join(cwd, 'config');
|
|
190
|
+
mkdirSync(configDir, { recursive: true });
|
|
191
|
+
const configFile = path.join(configDir, `${spec.config.key}.ts`);
|
|
192
|
+
if (!existsSync(configFile)) {
|
|
193
|
+
const body = spec.config.template({ orm });
|
|
194
|
+
writeFileSync(configFile, body);
|
|
195
|
+
console.log(` Generated config/${spec.config.key}.ts`);
|
|
196
|
+
}
|
|
197
|
+
// 3. Wire into config/index.ts
|
|
198
|
+
const indexFile = path.join(configDir, 'index.ts');
|
|
199
|
+
if (existsSync(indexFile)) {
|
|
200
|
+
const result = registerConfigKey(indexFile, spec.config.key);
|
|
201
|
+
if (result === 'ok') {
|
|
202
|
+
console.log(` Registered "${spec.config.key}" in config/index.ts`);
|
|
203
|
+
}
|
|
204
|
+
else if (result === 'unrecognized-shape') {
|
|
205
|
+
console.warn(` ⚠ Could not auto-wire config/index.ts (custom shape).`);
|
|
206
|
+
console.warn(` Add manually: import ${spec.config.key} from './${spec.config.key}.js'`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
// 4. Refresh provider manifest
|
|
211
|
+
console.log(` Refreshing provider manifest...`);
|
|
212
|
+
const discoverOk = await runChild(pm, [...(pm === 'npm' ? ['exec'] : []), 'rudder', 'providers:discover'], cwd);
|
|
213
|
+
if (!discoverOk) {
|
|
214
|
+
console.warn(` ⚠ providers:discover failed — run \`${pm} rudder providers:discover\` manually.`);
|
|
215
|
+
}
|
|
216
|
+
// 5. Print the post-install hint
|
|
217
|
+
console.log();
|
|
218
|
+
console.log(` ✓ ${spec.alias} is ready.`);
|
|
219
|
+
if (spec.hint)
|
|
220
|
+
console.log(` ${spec.hint}`);
|
|
221
|
+
});
|
|
222
|
+
}
|
|
223
|
+
// ── Config templates (vendored from create-rudder-app for runtime use) ─────
|
|
224
|
+
//
|
|
225
|
+
// Kept inline here rather than pulled from create-rudder-app via subpath so
|
|
226
|
+
// that @rudderjs/cli stays standalone and doesn't depend on the scaffolder.
|
|
227
|
+
// These are intentionally near-verbatim copies — the scaffolder owns the
|
|
228
|
+
// canonical templates for new-project scaffolding, and this command owns the
|
|
229
|
+
// runtime-add path. When the canonical templates evolve, this file gets
|
|
230
|
+
// updated in lockstep (one PR touches both).
|
|
231
|
+
const CFG_AUTH = `import type { AuthConfig } from '@rudderjs/auth'
|
|
232
|
+
import { User } from '../app/Models/User.js'
|
|
233
|
+
|
|
234
|
+
export default {
|
|
235
|
+
defaults: { guard: 'web' },
|
|
236
|
+
guards: {
|
|
237
|
+
web: { driver: 'session', provider: 'users' },
|
|
238
|
+
},
|
|
239
|
+
providers: {
|
|
240
|
+
users: { driver: 'eloquent', model: User },
|
|
241
|
+
},
|
|
242
|
+
} satisfies AuthConfig
|
|
243
|
+
`;
|
|
244
|
+
const CFG_SANCTUM = `import { Env } from '@rudderjs/support'
|
|
245
|
+
import type { SanctumConfig } from '@rudderjs/sanctum'
|
|
246
|
+
|
|
247
|
+
export default {
|
|
248
|
+
expiration: Env.getNumber('SANCTUM_TOKEN_EXPIRATION_MINUTES', 0),
|
|
249
|
+
prefix: Env.get('SANCTUM_TOKEN_PREFIX', ''),
|
|
250
|
+
|
|
251
|
+
// Default abilities granted on token creation.
|
|
252
|
+
defaultAbilities: ['*'],
|
|
253
|
+
} satisfies SanctumConfig
|
|
254
|
+
`;
|
|
255
|
+
const CFG_PASSPORT = `import { Env } from '@rudderjs/support'
|
|
256
|
+
|
|
257
|
+
export default {
|
|
258
|
+
// Path to the RSA keypair generated by \`rudder passport:keys\`.
|
|
259
|
+
privateKey: Env.get('PASSPORT_PRIVATE_KEY_PATH', 'storage/oauth-private.key'),
|
|
260
|
+
publicKey: Env.get('PASSPORT_PUBLIC_KEY_PATH', 'storage/oauth-public.key'),
|
|
261
|
+
|
|
262
|
+
// Token lifetimes (in seconds).
|
|
263
|
+
accessTokenTtl: Env.getNumber('PASSPORT_ACCESS_TOKEN_TTL', 3600), // 1h
|
|
264
|
+
refreshTokenTtl: Env.getNumber('PASSPORT_REFRESH_TOKEN_TTL', 1209600), // 14d
|
|
265
|
+
}
|
|
266
|
+
`;
|
|
267
|
+
const CFG_SOCIALITE = `import { Env } from '@rudderjs/support'
|
|
268
|
+
|
|
269
|
+
export default {
|
|
270
|
+
github: {
|
|
271
|
+
clientId: Env.get('GITHUB_CLIENT_ID', ''),
|
|
272
|
+
clientSecret: Env.get('GITHUB_CLIENT_SECRET', ''),
|
|
273
|
+
redirectUri: Env.get('GITHUB_REDIRECT_URI', 'http://localhost:3000/auth/github/callback'),
|
|
274
|
+
},
|
|
275
|
+
google: {
|
|
276
|
+
clientId: Env.get('GOOGLE_CLIENT_ID', ''),
|
|
277
|
+
clientSecret: Env.get('GOOGLE_CLIENT_SECRET', ''),
|
|
278
|
+
redirectUri: Env.get('GOOGLE_REDIRECT_URI', 'http://localhost:3000/auth/google/callback'),
|
|
279
|
+
},
|
|
280
|
+
}
|
|
281
|
+
`;
|
|
282
|
+
const CFG_CRYPT = `import { Env } from '@rudderjs/support'
|
|
283
|
+
|
|
284
|
+
export default {
|
|
285
|
+
// 32-byte base64 key. Generate with: openssl rand -base64 32
|
|
286
|
+
// Stored in .env as APP_KEY — never commit it.
|
|
287
|
+
key: Env.get('APP_KEY', ''),
|
|
288
|
+
cipher: Env.get('APP_CIPHER', 'aes-256-cbc'),
|
|
289
|
+
}
|
|
290
|
+
`;
|
|
291
|
+
const CFG_QUEUE = `import { Env, isWebContainer } from '@rudderjs/support'
|
|
292
|
+
import type { QueueConfig } from '@rudderjs/queue'
|
|
293
|
+
|
|
294
|
+
// In WebContainer, BullMQ (Redis over raw TCP) doesn't work — fall back to
|
|
295
|
+
// the in-process \`sync\` driver.
|
|
296
|
+
const defaultConnection = isWebContainer() ? 'sync' : Env.get('QUEUE_CONNECTION', 'sync')
|
|
297
|
+
|
|
298
|
+
export default {
|
|
299
|
+
default: defaultConnection,
|
|
300
|
+
|
|
301
|
+
connections: {
|
|
302
|
+
sync: {
|
|
303
|
+
driver: 'sync',
|
|
304
|
+
},
|
|
305
|
+
|
|
306
|
+
inngest: {
|
|
307
|
+
driver: 'inngest',
|
|
308
|
+
appId: Env.get('INNGEST_APP_ID', 'my-app'),
|
|
309
|
+
eventKey: Env.get('INNGEST_EVENT_KEY', ''),
|
|
310
|
+
signingKey: Env.get('INNGEST_SIGNING_KEY', ''),
|
|
311
|
+
jobs: [],
|
|
312
|
+
},
|
|
313
|
+
},
|
|
314
|
+
} satisfies QueueConfig
|
|
315
|
+
`;
|
|
316
|
+
const CFG_STORAGE = `import { Env } from '@rudderjs/support'
|
|
317
|
+
import type { StorageConfig } from '@rudderjs/storage'
|
|
318
|
+
|
|
319
|
+
export default {
|
|
320
|
+
default: Env.get('STORAGE_DISK', 'local'),
|
|
321
|
+
|
|
322
|
+
disks: {
|
|
323
|
+
local: {
|
|
324
|
+
driver: 'local',
|
|
325
|
+
root: Env.get('STORAGE_LOCAL_ROOT', 'storage/app'),
|
|
326
|
+
},
|
|
327
|
+
|
|
328
|
+
s3: {
|
|
329
|
+
driver: 's3',
|
|
330
|
+
key: Env.get('AWS_ACCESS_KEY_ID', ''),
|
|
331
|
+
secret: Env.get('AWS_SECRET_ACCESS_KEY', ''),
|
|
332
|
+
region: Env.get('AWS_DEFAULT_REGION', 'us-east-1'),
|
|
333
|
+
bucket: Env.get('AWS_BUCKET', ''),
|
|
334
|
+
endpoint: Env.get('AWS_ENDPOINT', ''),
|
|
335
|
+
},
|
|
336
|
+
},
|
|
337
|
+
} satisfies StorageConfig
|
|
338
|
+
`;
|
|
339
|
+
const CFG_MAIL = `import { Env, isWebContainer } from '@rudderjs/support'
|
|
340
|
+
|
|
341
|
+
// In WebContainer, raw SMTP (TCP) doesn't work — fall back to the log driver
|
|
342
|
+
// (writes the rendered email to stdout instead of sending).
|
|
343
|
+
const defaultMailer = isWebContainer() ? 'log' : Env.get('MAIL_MAILER', 'log')
|
|
344
|
+
|
|
345
|
+
export default {
|
|
346
|
+
default: defaultMailer,
|
|
347
|
+
|
|
348
|
+
from: {
|
|
349
|
+
address: Env.get('MAIL_FROM_ADDRESS', 'hello@example.com'),
|
|
350
|
+
name: Env.get('MAIL_FROM_NAME', 'RudderJS'),
|
|
351
|
+
},
|
|
352
|
+
|
|
353
|
+
mailers: {
|
|
354
|
+
log: {
|
|
355
|
+
driver: 'log',
|
|
356
|
+
},
|
|
357
|
+
|
|
358
|
+
smtp: {
|
|
359
|
+
driver: 'smtp',
|
|
360
|
+
host: Env.get('MAIL_HOST', 'localhost'),
|
|
361
|
+
port: Env.getNumber('MAIL_PORT', 587),
|
|
362
|
+
username: Env.get('MAIL_USERNAME', ''),
|
|
363
|
+
password: Env.get('MAIL_PASSWORD', ''),
|
|
364
|
+
encryption: Env.get('MAIL_ENCRYPTION', 'tls'),
|
|
365
|
+
},
|
|
366
|
+
},
|
|
367
|
+
}
|
|
368
|
+
`;
|
|
369
|
+
function buildSyncConfig(orm) {
|
|
370
|
+
const persistenceImport = orm === 'prisma' ? "\nimport { syncPrisma } from '@rudderjs/sync'" : '';
|
|
371
|
+
const persistenceLine = orm === 'prisma'
|
|
372
|
+
? '\n // Server-side persistence — Y.Docs survive server restarts\n persistence: syncPrisma(),\n'
|
|
373
|
+
: '';
|
|
374
|
+
return `import { Env } from '@rudderjs/support'${persistenceImport}
|
|
375
|
+
import type { SyncConfig } from '@rudderjs/sync'
|
|
376
|
+
|
|
377
|
+
export default {
|
|
378
|
+
path: Env.get('SYNC_PATH', '/ws-sync'),
|
|
379
|
+
${persistenceLine}
|
|
380
|
+
// Client-side providers
|
|
381
|
+
providers: ['websocket', 'indexeddb'],
|
|
382
|
+
} satisfies SyncConfig
|
|
383
|
+
`;
|
|
384
|
+
}
|
|
385
|
+
const CFG_LOCALIZATION = `import { Env } from '@rudderjs/support'
|
|
386
|
+
|
|
387
|
+
export default {
|
|
388
|
+
locale: Env.get('APP_LOCALE', 'en'),
|
|
389
|
+
fallbackLocale: Env.get('APP_FALLBACK_LOCALE', 'en'),
|
|
390
|
+
|
|
391
|
+
// Path to translation files (relative to project root).
|
|
392
|
+
path: 'lang',
|
|
393
|
+
}
|
|
394
|
+
`;
|
|
395
|
+
const CFG_PENNANT = `import { Env } from '@rudderjs/support'
|
|
396
|
+
import type { PennantConfig } from '@rudderjs/pennant'
|
|
397
|
+
|
|
398
|
+
export default {
|
|
399
|
+
default: Env.get('PENNANT_STORE', 'array'),
|
|
400
|
+
|
|
401
|
+
stores: {
|
|
402
|
+
array: { driver: 'array' },
|
|
403
|
+
database: { driver: 'database', table: 'feature_flags' },
|
|
404
|
+
},
|
|
405
|
+
} satisfies PennantConfig
|
|
406
|
+
`;
|
|
407
|
+
const CFG_TELESCOPE = `import { Env } from '@rudderjs/support'
|
|
408
|
+
import type { TelescopeConfig } from '@rudderjs/telescope'
|
|
409
|
+
|
|
410
|
+
export default {
|
|
411
|
+
enabled: Env.getBool('TELESCOPE_ENABLED', true),
|
|
412
|
+
path: Env.get('TELESCOPE_PATH', '/telescope'),
|
|
413
|
+
|
|
414
|
+
storage: {
|
|
415
|
+
driver: Env.get('TELESCOPE_STORAGE', 'memory'),
|
|
416
|
+
},
|
|
417
|
+
} satisfies TelescopeConfig
|
|
418
|
+
`;
|
|
419
|
+
const CFG_PULSE = `import { Env } from '@rudderjs/support'
|
|
420
|
+
import type { PulseConfig } from '@rudderjs/pulse'
|
|
421
|
+
|
|
422
|
+
export default {
|
|
423
|
+
enabled: Env.getBool('PULSE_ENABLED', true),
|
|
424
|
+
path: Env.get('PULSE_PATH', '/pulse'),
|
|
425
|
+
|
|
426
|
+
storage: {
|
|
427
|
+
driver: Env.get('PULSE_STORAGE', 'memory'),
|
|
428
|
+
},
|
|
429
|
+
} satisfies PulseConfig
|
|
430
|
+
`;
|
|
431
|
+
const CFG_HORIZON = `import { Env } from '@rudderjs/support'
|
|
432
|
+
import type { HorizonConfig } from '@rudderjs/horizon'
|
|
433
|
+
|
|
434
|
+
export default {
|
|
435
|
+
enabled: Env.getBool('HORIZON_ENABLED', true),
|
|
436
|
+
path: Env.get('HORIZON_PATH', '/horizon'),
|
|
437
|
+
|
|
438
|
+
storage: {
|
|
439
|
+
driver: Env.get('HORIZON_STORAGE', 'memory'),
|
|
440
|
+
},
|
|
441
|
+
} satisfies HorizonConfig
|
|
442
|
+
`;
|
|
443
|
+
const CFG_AI = `import { Env } from '@rudderjs/support'
|
|
444
|
+
import type { AiConfig } from '@rudderjs/ai'
|
|
445
|
+
|
|
446
|
+
export default {
|
|
447
|
+
default: Env.get('AI_MODEL', 'anthropic/claude-sonnet-4-5'),
|
|
448
|
+
|
|
449
|
+
providers: {
|
|
450
|
+
anthropic: {
|
|
451
|
+
driver: 'anthropic',
|
|
452
|
+
apiKey: Env.get('ANTHROPIC_API_KEY', ''),
|
|
453
|
+
},
|
|
454
|
+
|
|
455
|
+
openai: {
|
|
456
|
+
driver: 'openai',
|
|
457
|
+
apiKey: Env.get('OPENAI_API_KEY', ''),
|
|
458
|
+
},
|
|
459
|
+
|
|
460
|
+
google: {
|
|
461
|
+
driver: 'google',
|
|
462
|
+
apiKey: Env.get('GOOGLE_AI_API_KEY', ''),
|
|
463
|
+
},
|
|
464
|
+
|
|
465
|
+
ollama: {
|
|
466
|
+
driver: 'ollama',
|
|
467
|
+
baseUrl: Env.get('OLLAMA_BASE_URL', 'http://localhost:11434'),
|
|
468
|
+
},
|
|
469
|
+
},
|
|
470
|
+
} satisfies AiConfig
|
|
471
|
+
`;
|
|
472
|
+
// ── Test exports ──────────────────────────────────────────────
|
|
473
|
+
// (not part of the runtime API, but tests import these directly)
|
|
474
|
+
export const _internal = { REGISTRY, findSpec, detectOrm, detectPackageManager };
|
|
475
|
+
//# sourceMappingURL=add.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add.js","sourceRoot":"","sources":["../../src/commands/add.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Command } from 'commander';
|
|
2
|
+
/**
|
|
3
|
+
* Walk the registry and return the aliases of packages that:
|
|
4
|
+
* 1. Are currently installed, AND
|
|
5
|
+
* 2. List `alias` in their `requires` array.
|
|
6
|
+
*
|
|
7
|
+
* Used to refuse a remove that would leave dependent packages in a broken
|
|
8
|
+
* state (e.g. `rudder remove auth` while sanctum/passport are still
|
|
9
|
+
* installed would crash both providers at boot).
|
|
10
|
+
*/
|
|
11
|
+
export declare function findInstalledDependents(cwd: string, alias: string): string[];
|
|
12
|
+
/**
|
|
13
|
+
* Remove the `import <key> from './<key>.js'` line + the `<key>` entry in
|
|
14
|
+
* the `const configs = { ... }` object. Mirror of `registerConfigKey` in
|
|
15
|
+
* add.ts. Idempotent — bails cleanly if the key isn't currently registered.
|
|
16
|
+
*
|
|
17
|
+
* Returns `'ok' | 'not-registered' | 'unrecognized-shape'`.
|
|
18
|
+
*/
|
|
19
|
+
export declare function unregisterConfigKey(indexPath: string, key: string): 'ok' | 'not-registered' | 'unrecognized-shape';
|
|
20
|
+
export declare function removeCommand(program: Command): void;
|
|
21
|
+
export declare const _testInternal: {
|
|
22
|
+
findInstalledDependents: typeof findInstalledDependents;
|
|
23
|
+
};
|
|
24
|
+
//# sourceMappingURL=remove.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.d.ts","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AA8BxC;;;;;;;;GAQG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAK5E;AAID;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,gBAAgB,GAAG,oBAAoB,CAoClH;AAcD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoFpD;AAGD,eAAO,MAAM,aAAa;;CAA8B,CAAA"}
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { existsSync, readFileSync, writeFileSync, unlinkSync } from 'node:fs';
|
|
2
|
+
import path from 'node:path';
|
|
3
|
+
import { spawn } from 'node:child_process';
|
|
4
|
+
import { _internal } from './add.js';
|
|
5
|
+
const { REGISTRY, findSpec, detectPackageManager } = _internal;
|
|
6
|
+
function pmRemove(pm, dep) {
|
|
7
|
+
switch (pm) {
|
|
8
|
+
case 'pnpm': return ['remove', dep];
|
|
9
|
+
case 'npm': return ['uninstall', dep];
|
|
10
|
+
case 'yarn': return ['remove', dep];
|
|
11
|
+
case 'bun': return ['remove', dep];
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
// ── Helpers ──────────────────────────────────────────────────
|
|
15
|
+
function isInstalled(cwd, npmName) {
|
|
16
|
+
const pkgPath = path.join(cwd, 'package.json');
|
|
17
|
+
if (!existsSync(pkgPath))
|
|
18
|
+
return false;
|
|
19
|
+
const pkg = JSON.parse(readFileSync(pkgPath, 'utf8'));
|
|
20
|
+
const deps = { ...pkg.dependencies, ...pkg.devDependencies };
|
|
21
|
+
return npmName in deps;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Walk the registry and return the aliases of packages that:
|
|
25
|
+
* 1. Are currently installed, AND
|
|
26
|
+
* 2. List `alias` in their `requires` array.
|
|
27
|
+
*
|
|
28
|
+
* Used to refuse a remove that would leave dependent packages in a broken
|
|
29
|
+
* state (e.g. `rudder remove auth` while sanctum/passport are still
|
|
30
|
+
* installed would crash both providers at boot).
|
|
31
|
+
*/
|
|
32
|
+
export function findInstalledDependents(cwd, alias) {
|
|
33
|
+
return REGISTRY
|
|
34
|
+
.filter(spec => spec.requires?.includes(alias))
|
|
35
|
+
.filter(spec => isInstalled(cwd, spec.npmName))
|
|
36
|
+
.map(spec => spec.alias);
|
|
37
|
+
}
|
|
38
|
+
// ── config/index.ts surgical un-register ─────────────────────
|
|
39
|
+
/**
|
|
40
|
+
* Remove the `import <key> from './<key>.js'` line + the `<key>` entry in
|
|
41
|
+
* the `const configs = { ... }` object. Mirror of `registerConfigKey` in
|
|
42
|
+
* add.ts. Idempotent — bails cleanly if the key isn't currently registered.
|
|
43
|
+
*
|
|
44
|
+
* Returns `'ok' | 'not-registered' | 'unrecognized-shape'`.
|
|
45
|
+
*/
|
|
46
|
+
export function unregisterConfigKey(indexPath, key) {
|
|
47
|
+
const src = readFileSync(indexPath, 'utf8');
|
|
48
|
+
// Find the import line for this key.
|
|
49
|
+
// Match: optional leading newline, `import <key>` (any whitespace), `from './<key>.js'`, trailing newline.
|
|
50
|
+
const importLineRe = new RegExp(`\\n?import\\s+${key}\\s+from\\s+'\\./${key}\\.js'\\s*\\n?`);
|
|
51
|
+
const importMatch = importLineRe.exec(src);
|
|
52
|
+
if (!importMatch)
|
|
53
|
+
return 'not-registered';
|
|
54
|
+
// Find the configs block.
|
|
55
|
+
const configsRe = /const\s+configs\s*=\s*\{([^}]*)\}/;
|
|
56
|
+
const configsMatch = configsRe.exec(src);
|
|
57
|
+
if (!configsMatch)
|
|
58
|
+
return 'unrecognized-shape';
|
|
59
|
+
// Strip the key from the configs object literal.
|
|
60
|
+
const keys = configsMatch[1].split(',').map(s => s.trim()).filter(Boolean);
|
|
61
|
+
if (!keys.includes(key))
|
|
62
|
+
return 'unrecognized-shape'; // import present but key absent — manual edit, bail
|
|
63
|
+
const remainingKeys = keys.filter(k => k !== key);
|
|
64
|
+
// Splice both edits. Apply the configs replacement first (further right in
|
|
65
|
+
// the file) so its offset stays stable while we then drop the import line.
|
|
66
|
+
let out = src.slice(0, configsMatch.index)
|
|
67
|
+
+ `const configs = { ${remainingKeys.join(', ')} }`
|
|
68
|
+
+ src.slice(configsMatch.index + configsMatch[0].length);
|
|
69
|
+
// Re-run the import regex on the mutated string — offsets shifted.
|
|
70
|
+
const newImportMatch = importLineRe.exec(out);
|
|
71
|
+
if (newImportMatch) {
|
|
72
|
+
// Preserve a single newline at the seam so the surrounding imports still
|
|
73
|
+
// form a contiguous block with no double blank lines.
|
|
74
|
+
const replacement = newImportMatch[0].startsWith('\n') && newImportMatch[0].endsWith('\n') ? '\n' : '';
|
|
75
|
+
out = out.slice(0, newImportMatch.index) + replacement + out.slice(newImportMatch.index + newImportMatch[0].length);
|
|
76
|
+
}
|
|
77
|
+
writeFileSync(indexPath, out);
|
|
78
|
+
return 'ok';
|
|
79
|
+
}
|
|
80
|
+
// ── Child-process runner ──────────────────────────────────────
|
|
81
|
+
function runChild(cmd, args, cwd) {
|
|
82
|
+
return new Promise((resolve) => {
|
|
83
|
+
const child = spawn(cmd, args, { cwd, stdio: 'inherit', shell: false });
|
|
84
|
+
child.on('close', (code) => resolve(code === 0));
|
|
85
|
+
child.on('error', () => resolve(false));
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
// ── Command ───────────────────────────────────────────────────
|
|
89
|
+
export function removeCommand(program) {
|
|
90
|
+
program
|
|
91
|
+
.command('remove <package>')
|
|
92
|
+
.description('Uninstall a RudderJS package — reverses `rudder add` (removes dep, config file, and unregisters)')
|
|
93
|
+
.option('--keep-config', 'Leave config/<name>.ts and the config/index.ts entry in place')
|
|
94
|
+
.action(async (packageName, opts) => {
|
|
95
|
+
const cwd = process.cwd();
|
|
96
|
+
const spec = findSpec(packageName);
|
|
97
|
+
if (!spec) {
|
|
98
|
+
const valid = REGISTRY.map(p => p.alias).join(', ');
|
|
99
|
+
console.error(`[rudder remove] Unknown package "${packageName}".\n Available: ${valid}`);
|
|
100
|
+
process.exit(1);
|
|
101
|
+
}
|
|
102
|
+
// Idempotency — already gone?
|
|
103
|
+
if (!isInstalled(cwd, spec.npmName)) {
|
|
104
|
+
console.log(` ${spec.npmName} is not installed — nothing to remove.`);
|
|
105
|
+
// Still try to clean any leftover config files (e.g. config wired but
|
|
106
|
+
// dep already removed by hand). Surfaces inconsistent state.
|
|
107
|
+
if (!opts.keepConfig && spec.config) {
|
|
108
|
+
const configFile = path.join(cwd, 'config', `${spec.config.key}.ts`);
|
|
109
|
+
const indexFile = path.join(cwd, 'config', 'index.ts');
|
|
110
|
+
if (existsSync(configFile)) {
|
|
111
|
+
unlinkSync(configFile);
|
|
112
|
+
console.log(` Cleaned up orphaned config/${spec.config.key}.ts`);
|
|
113
|
+
}
|
|
114
|
+
if (existsSync(indexFile)) {
|
|
115
|
+
const result = unregisterConfigKey(indexFile, spec.config.key);
|
|
116
|
+
if (result === 'ok')
|
|
117
|
+
console.log(` Cleaned up orphaned entry in config/index.ts`);
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
// Refuse if other installed packages depend on this one.
|
|
123
|
+
const dependents = findInstalledDependents(cwd, spec.alias);
|
|
124
|
+
if (dependents.length > 0) {
|
|
125
|
+
console.error(`[rudder remove] Cannot remove ${spec.alias} — these installed packages depend on it: ${dependents.join(', ')}`);
|
|
126
|
+
console.error(` Remove them first, or keep ${spec.alias} installed.`);
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
const pm = detectPackageManager();
|
|
130
|
+
// 1. Uninstall the dependency
|
|
131
|
+
console.log(`\n Removing ${spec.npmName}...`);
|
|
132
|
+
const ok = await runChild(pm, pmRemove(pm, spec.npmName), cwd);
|
|
133
|
+
if (!ok) {
|
|
134
|
+
console.error(`[rudder remove] ${pm} ${pmRemove(pm, spec.npmName).join(' ')} failed.`);
|
|
135
|
+
process.exit(1);
|
|
136
|
+
}
|
|
137
|
+
// 2. Delete config file (unless --keep-config)
|
|
138
|
+
if (!opts.keepConfig && spec.config) {
|
|
139
|
+
const configFile = path.join(cwd, 'config', `${spec.config.key}.ts`);
|
|
140
|
+
if (existsSync(configFile)) {
|
|
141
|
+
unlinkSync(configFile);
|
|
142
|
+
console.log(` Deleted config/${spec.config.key}.ts`);
|
|
143
|
+
}
|
|
144
|
+
// 3. Unregister from config/index.ts
|
|
145
|
+
const indexFile = path.join(cwd, 'config', 'index.ts');
|
|
146
|
+
if (existsSync(indexFile)) {
|
|
147
|
+
const result = unregisterConfigKey(indexFile, spec.config.key);
|
|
148
|
+
if (result === 'ok') {
|
|
149
|
+
console.log(` Unregistered "${spec.config.key}" in config/index.ts`);
|
|
150
|
+
}
|
|
151
|
+
else if (result === 'unrecognized-shape') {
|
|
152
|
+
console.warn(` ⚠ Could not auto-edit config/index.ts (custom shape).`);
|
|
153
|
+
console.warn(` Remove manually: the import line and key for "${spec.config.key}".`);
|
|
154
|
+
}
|
|
155
|
+
// 'not-registered' is silent — nothing to do.
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
// 4. Refresh provider manifest so the freshly-removed provider drops out.
|
|
159
|
+
console.log(` Refreshing provider manifest...`);
|
|
160
|
+
const discoverOk = await runChild(pm, [...(pm === 'npm' ? ['exec'] : []), 'rudder', 'providers:discover'], cwd);
|
|
161
|
+
if (!discoverOk) {
|
|
162
|
+
console.warn(` ⚠ providers:discover failed — run \`${pm} rudder providers:discover\` manually.`);
|
|
163
|
+
}
|
|
164
|
+
console.log();
|
|
165
|
+
console.log(` ✓ ${spec.alias} removed.`);
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
// ── Test exports ──────────────────────────────────────────────
|
|
169
|
+
export const _testInternal = { findInstalledDependents };
|
|
170
|
+
//# sourceMappingURL=remove.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remove.js","sourceRoot":"","sources":["../../src/commands/remove.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -7,6 +7,8 @@ import { moduleCommand } from './commands/module.js';
|
|
|
7
7
|
import { vendorPublishCommand } from './commands/vendor-publish.js';
|
|
8
8
|
import { providersDiscoverCommand } from './commands/providers-discover.js';
|
|
9
9
|
import { commandListCommand } from './commands/command-list.js';
|
|
10
|
+
import { addCommand } from './commands/add.js';
|
|
11
|
+
import { removeCommand } from './commands/remove.js';
|
|
10
12
|
import { rudder, parseSignature, CancelledError, commandObservers } from '@rudderjs/console';
|
|
11
13
|
import { CliError } from './errors.js';
|
|
12
14
|
const C = {
|
|
@@ -250,6 +252,8 @@ async function main() {
|
|
|
250
252
|
moduleCommand(program);
|
|
251
253
|
vendorPublishCommand(program);
|
|
252
254
|
providersDiscoverCommand(program);
|
|
255
|
+
addCommand(program);
|
|
256
|
+
removeCommand(program);
|
|
253
257
|
// Commands that scan files / manage tooling state must work even when the
|
|
254
258
|
// app cannot boot (e.g. fresh clone, missing manifest, broken provider config).
|
|
255
259
|
// List them here to skip the bootApp() phase entirely.
|
|
@@ -262,7 +266,25 @@ async function main() {
|
|
|
262
266
|
// - `view:sync` regenerates `pages/__view/` (registry.d.ts + Vike stubs)
|
|
263
267
|
// from disk; needed when CI typechecks before Vite has run, or on a
|
|
264
268
|
// fresh clone before the first dev server boot.
|
|
265
|
-
|
|
269
|
+
// - `db:generate`, `db:push`, `migrate*` all spawn the underlying ORM
|
|
270
|
+
// binary (prisma / drizzle-kit) and don't touch app state. Crucially,
|
|
271
|
+
// `db:generate` MUST work before `@prisma/client` exists, which is
|
|
272
|
+
// exactly the chicken-and-egg the framework boot would hit otherwise
|
|
273
|
+
// on a fresh scaffolded project. (`db:seed` is deliberately NOT here —
|
|
274
|
+
// user seeders use the ORM and need a booted app.)
|
|
275
|
+
// - `add` installs a new package — the freshly added provider hasn't
|
|
276
|
+
// been registered with the manifest yet, so booting the app would
|
|
277
|
+
// crash on the missing provider before the command's own
|
|
278
|
+
// providers:discover step gets a chance to refresh the manifest.
|
|
279
|
+
// - `remove` uninstalls a package — the about-to-be-deleted provider
|
|
280
|
+
// may still be in node_modules but is being torn out; booting would
|
|
281
|
+
// be wasted work at best and surface confusing errors at worst.
|
|
282
|
+
const NO_BOOT_EXACT = new Set([
|
|
283
|
+
'providers:discover', 'module:publish', 'view:sync',
|
|
284
|
+
'db:generate', 'db:push',
|
|
285
|
+
'migrate', 'migrate:fresh', 'migrate:status',
|
|
286
|
+
'add', 'remove',
|
|
287
|
+
]);
|
|
266
288
|
const NO_BOOT_PREFIX = ['make:'];
|
|
267
289
|
const skipBoot = process.argv.slice(2).some(arg => NO_BOOT_EXACT.has(arg) || NO_BOOT_PREFIX.some(p => arg.startsWith(p)));
|
|
268
290
|
// Tag this process as a queue worker before providers boot, so cross-cutting
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderjs/cli",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.4.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
"commander": "^12.0.0",
|
|
24
24
|
"chalk": "^5.0.0",
|
|
25
25
|
"@clack/prompts": "^1.0.0",
|
|
26
|
-
"@rudderjs/core": "^1.1.
|
|
26
|
+
"@rudderjs/core": "^1.1.7",
|
|
27
27
|
"@rudderjs/console": "^1.0.2"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@rudderjs/router": "^1.
|
|
30
|
+
"@rudderjs/router": "^1.3.1"
|
|
31
31
|
},
|
|
32
32
|
"peerDependenciesMeta": {
|
|
33
33
|
"@rudderjs/router": {
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@types/node": "^20.0.0",
|
|
39
39
|
"typescript": "^5.4.0",
|
|
40
40
|
"tsx": "^4.0.0",
|
|
41
|
-
"@rudderjs/router": "^1.
|
|
41
|
+
"@rudderjs/router": "^1.3.1"
|
|
42
42
|
},
|
|
43
43
|
"author": "Suleiman Shahbari",
|
|
44
44
|
"scripts": {
|
|
@@ -46,7 +46,7 @@
|
|
|
46
46
|
"dev": "tsc -p tsconfig.build.json --watch",
|
|
47
47
|
"typecheck": "tsc --noEmit",
|
|
48
48
|
"lint": "eslint src",
|
|
49
|
-
"test": "tsc -p tsconfig.test.json && node --test dist-test/index.test.js; EXIT=$?; rm -rf dist-test; exit $EXIT",
|
|
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; EXIT=$?; rm -rf dist-test; exit $EXIT",
|
|
50
50
|
"clean": "rm -rf dist"
|
|
51
51
|
}
|
|
52
52
|
}
|