@reverso/cli 0.1.3 → 0.1.5
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/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +240 -8
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +160 -11
- package/dist/commands/init.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAgHzC,wBAAgB,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA2QjD"}
|
package/dist/commands/dev.js
CHANGED
|
@@ -3,7 +3,98 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import ora from 'ora';
|
|
6
|
-
import { resolve } from 'node:path';
|
|
6
|
+
import { resolve, dirname } from 'node:path';
|
|
7
|
+
import { execSync } from 'node:child_process';
|
|
8
|
+
import { existsSync, mkdirSync } from 'node:fs';
|
|
9
|
+
function detectPackageManager(cwd) {
|
|
10
|
+
if (existsSync(resolve(cwd, 'bun.lockb')))
|
|
11
|
+
return 'bun';
|
|
12
|
+
if (existsSync(resolve(cwd, 'pnpm-lock.yaml')))
|
|
13
|
+
return 'pnpm';
|
|
14
|
+
if (existsSync(resolve(cwd, 'yarn.lock')))
|
|
15
|
+
return 'yarn';
|
|
16
|
+
return 'npm';
|
|
17
|
+
}
|
|
18
|
+
function getInstallCommand(pm, packages) {
|
|
19
|
+
const pkgList = packages.join(' ');
|
|
20
|
+
switch (pm) {
|
|
21
|
+
case 'bun': return `bun add ${pkgList}`;
|
|
22
|
+
case 'pnpm': return `pnpm add ${pkgList}`;
|
|
23
|
+
case 'yarn': return `yarn add ${pkgList}`;
|
|
24
|
+
default: return `npm install ${pkgList}`;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
async function rebuildNativeModules(spinner) {
|
|
28
|
+
const cwd = process.cwd();
|
|
29
|
+
const pm = detectPackageManager(cwd);
|
|
30
|
+
spinner.start('Rebuilding native modules (better-sqlite3)...');
|
|
31
|
+
try {
|
|
32
|
+
const rebuildCmd = pm === 'yarn'
|
|
33
|
+
? 'yarn rebuild better-sqlite3'
|
|
34
|
+
: pm === 'bun'
|
|
35
|
+
? 'bun rebuild'
|
|
36
|
+
: `${pm} rebuild better-sqlite3`;
|
|
37
|
+
execSync(rebuildCmd, { cwd, stdio: 'pipe' });
|
|
38
|
+
spinner.succeed('Native modules rebuilt');
|
|
39
|
+
return true;
|
|
40
|
+
}
|
|
41
|
+
catch {
|
|
42
|
+
spinner.fail('Failed to rebuild native modules');
|
|
43
|
+
return false;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
async function installMissingDependencies(spinner, packages) {
|
|
47
|
+
const cwd = process.cwd();
|
|
48
|
+
const pm = detectPackageManager(cwd);
|
|
49
|
+
spinner.start(`Installing missing dependencies: ${packages.join(', ')}...`);
|
|
50
|
+
try {
|
|
51
|
+
const installCmd = getInstallCommand(pm, packages);
|
|
52
|
+
execSync(installCmd, { cwd, stdio: 'pipe' });
|
|
53
|
+
spinner.succeed('Dependencies installed');
|
|
54
|
+
// Also rebuild native modules after install
|
|
55
|
+
spinner.start('Building native modules...');
|
|
56
|
+
try {
|
|
57
|
+
const rebuildCmd = pm === 'npm' ? 'npm rebuild' : `${pm} rebuild`;
|
|
58
|
+
execSync(rebuildCmd, { cwd, stdio: 'pipe' });
|
|
59
|
+
spinner.succeed('Native modules built');
|
|
60
|
+
}
|
|
61
|
+
catch {
|
|
62
|
+
// Ignore rebuild errors here, will catch later if needed
|
|
63
|
+
}
|
|
64
|
+
return true;
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
spinner.fail('Failed to install dependencies');
|
|
68
|
+
return false;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function isPortInUse(port) {
|
|
72
|
+
return new Promise((resolve) => {
|
|
73
|
+
import('node:net').then(({ createServer }) => {
|
|
74
|
+
const server = createServer();
|
|
75
|
+
server.once('error', (err) => {
|
|
76
|
+
if (err.code === 'EADDRINUSE') {
|
|
77
|
+
resolve(true);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
resolve(false);
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
server.once('listening', () => {
|
|
84
|
+
server.close();
|
|
85
|
+
resolve(false);
|
|
86
|
+
});
|
|
87
|
+
server.listen(port);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
async function findAvailablePort(startPort) {
|
|
92
|
+
let port = startPort;
|
|
93
|
+
while (await isPortInUse(port) && port < startPort + 100) {
|
|
94
|
+
port++;
|
|
95
|
+
}
|
|
96
|
+
return port;
|
|
97
|
+
}
|
|
7
98
|
export function devCommand(program) {
|
|
8
99
|
program
|
|
9
100
|
.command('dev')
|
|
@@ -15,11 +106,54 @@ export function devCommand(program) {
|
|
|
15
106
|
.option('--open', 'Open admin panel in browser', false)
|
|
16
107
|
.action(async (options) => {
|
|
17
108
|
const spinner = ora();
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
109
|
+
const cwd = process.cwd();
|
|
110
|
+
let didRebuild = false;
|
|
111
|
+
let didInstall = false;
|
|
112
|
+
// Pre-flight checks
|
|
113
|
+
console.log(chalk.blue('Starting Reverso development server...'));
|
|
114
|
+
console.log();
|
|
115
|
+
// Check 1: Config file exists
|
|
116
|
+
const configPath = resolve(cwd, 'reverso.config.ts');
|
|
117
|
+
const configPathJs = resolve(cwd, 'reverso.config.js');
|
|
118
|
+
if (!existsSync(configPath) && !existsSync(configPathJs)) {
|
|
119
|
+
console.log(chalk.yellow('No reverso.config found. Running init first...'));
|
|
22
120
|
console.log();
|
|
121
|
+
try {
|
|
122
|
+
execSync('npx @reverso/cli init --yes', { cwd, stdio: 'inherit' });
|
|
123
|
+
return; // init will handle everything
|
|
124
|
+
}
|
|
125
|
+
catch {
|
|
126
|
+
console.log(chalk.red('Failed to initialize. Run: npx @reverso/cli init'));
|
|
127
|
+
process.exit(1);
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
// Check 2: Create .reverso directory if needed
|
|
131
|
+
const reversoDir = resolve(cwd, '.reverso');
|
|
132
|
+
if (!existsSync(reversoDir)) {
|
|
133
|
+
spinner.start('Creating .reverso directory...');
|
|
134
|
+
try {
|
|
135
|
+
mkdirSync(reversoDir, { recursive: true });
|
|
136
|
+
spinner.succeed('Created .reverso directory');
|
|
137
|
+
}
|
|
138
|
+
catch {
|
|
139
|
+
spinner.fail('Failed to create .reverso directory');
|
|
140
|
+
process.exit(1);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Check 3: Port availability
|
|
144
|
+
let port = parseInt(options.port, 10);
|
|
145
|
+
if (await isPortInUse(port)) {
|
|
146
|
+
spinner.start(`Port ${port} is in use, finding available port...`);
|
|
147
|
+
port = await findAvailablePort(port);
|
|
148
|
+
spinner.succeed(`Using port ${port}`);
|
|
149
|
+
}
|
|
150
|
+
const startServer = async () => {
|
|
151
|
+
const dbPath = resolve(options.database);
|
|
152
|
+
// Ensure database directory exists
|
|
153
|
+
const dbDir = dirname(dbPath);
|
|
154
|
+
if (!existsSync(dbDir)) {
|
|
155
|
+
mkdirSync(dbDir, { recursive: true });
|
|
156
|
+
}
|
|
23
157
|
// Create database if needed
|
|
24
158
|
spinner.start('Initializing database...');
|
|
25
159
|
const { createDatabaseSchema } = await import('@reverso/db');
|
|
@@ -44,7 +178,7 @@ export function devCommand(program) {
|
|
|
44
178
|
scanner.startWatch();
|
|
45
179
|
// Start API server
|
|
46
180
|
spinner.start('Starting API server...');
|
|
47
|
-
const { createApiServer, startServer } = await import('@reverso/api');
|
|
181
|
+
const { createApiServer, startServer: startApiServer } = await import('@reverso/api');
|
|
48
182
|
const server = await createApiServer({
|
|
49
183
|
port,
|
|
50
184
|
host: options.host,
|
|
@@ -52,7 +186,7 @@ export function devCommand(program) {
|
|
|
52
186
|
cors: true,
|
|
53
187
|
logger: false,
|
|
54
188
|
});
|
|
55
|
-
await
|
|
189
|
+
await startApiServer(server);
|
|
56
190
|
spinner.succeed(`API server running at http://${options.host}:${port}`);
|
|
57
191
|
console.log();
|
|
58
192
|
console.log(chalk.green.bold('Development server ready!'));
|
|
@@ -89,10 +223,108 @@ export function devCommand(program) {
|
|
|
89
223
|
};
|
|
90
224
|
process.on('SIGINT', shutdown);
|
|
91
225
|
process.on('SIGTERM', shutdown);
|
|
226
|
+
};
|
|
227
|
+
try {
|
|
228
|
+
await startServer();
|
|
92
229
|
}
|
|
93
230
|
catch (error) {
|
|
231
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
232
|
+
const errorCode = error?.code;
|
|
233
|
+
// Error: Native module not found (better-sqlite3)
|
|
234
|
+
if (errorMsg.includes('Could not locate the bindings file') ||
|
|
235
|
+
errorMsg.includes('better_sqlite3.node') ||
|
|
236
|
+
errorMsg.includes('was compiled against a different Node.js version')) {
|
|
237
|
+
if (!didRebuild) {
|
|
238
|
+
console.log();
|
|
239
|
+
console.log(chalk.yellow('Native module issue detected. Attempting to fix...'));
|
|
240
|
+
console.log();
|
|
241
|
+
didRebuild = true;
|
|
242
|
+
const rebuilt = await rebuildNativeModules(spinner);
|
|
243
|
+
if (rebuilt) {
|
|
244
|
+
console.log();
|
|
245
|
+
console.log(chalk.blue('Retrying server startup...'));
|
|
246
|
+
console.log();
|
|
247
|
+
try {
|
|
248
|
+
await startServer();
|
|
249
|
+
return;
|
|
250
|
+
}
|
|
251
|
+
catch (retryError) {
|
|
252
|
+
spinner.fail(chalk.red('Failed to start after rebuild'));
|
|
253
|
+
console.error(retryError instanceof Error ? retryError.message : String(retryError));
|
|
254
|
+
process.exit(1);
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
// Error: Missing dependencies
|
|
260
|
+
if (errorMsg.includes('Cannot find package') ||
|
|
261
|
+
errorMsg.includes('Cannot find module') ||
|
|
262
|
+
errorCode === 'ERR_MODULE_NOT_FOUND') {
|
|
263
|
+
// Extract package name from error
|
|
264
|
+
const missingPkgMatch = errorMsg.match(/Cannot find (?:package|module) ['"]?(@?[^'"\/\s]+(?:\/[^'"\/\s]+)?)/);
|
|
265
|
+
const missingPackages = [];
|
|
266
|
+
if (missingPkgMatch && missingPkgMatch[1]) {
|
|
267
|
+
const pkg = missingPkgMatch[1];
|
|
268
|
+
if (pkg.startsWith('@reverso/')) {
|
|
269
|
+
missingPackages.push(pkg);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
// Default to core packages if we can't determine
|
|
273
|
+
if (missingPackages.length === 0) {
|
|
274
|
+
missingPackages.push('@reverso/core', '@reverso/cli', '@reverso/db', '@reverso/scanner', '@reverso/api');
|
|
275
|
+
}
|
|
276
|
+
if (!didInstall) {
|
|
277
|
+
console.log();
|
|
278
|
+
console.log(chalk.yellow('Missing dependencies detected. Installing...'));
|
|
279
|
+
console.log();
|
|
280
|
+
didInstall = true;
|
|
281
|
+
const installed = await installMissingDependencies(spinner, missingPackages);
|
|
282
|
+
if (installed) {
|
|
283
|
+
console.log();
|
|
284
|
+
console.log(chalk.blue('Retrying server startup...'));
|
|
285
|
+
console.log();
|
|
286
|
+
try {
|
|
287
|
+
await startServer();
|
|
288
|
+
return;
|
|
289
|
+
}
|
|
290
|
+
catch (retryError) {
|
|
291
|
+
spinner.fail(chalk.red('Failed to start after installing dependencies'));
|
|
292
|
+
console.error(retryError instanceof Error ? retryError.message : String(retryError));
|
|
293
|
+
process.exit(1);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
// Error: Port in use (shouldn't happen with our check, but just in case)
|
|
299
|
+
if (errorCode === 'EADDRINUSE' || errorMsg.includes('EADDRINUSE')) {
|
|
300
|
+
console.log();
|
|
301
|
+
console.log(chalk.yellow(`Port ${port} is already in use.`));
|
|
302
|
+
const newPort = await findAvailablePort(port + 1);
|
|
303
|
+
console.log(chalk.blue(`Try running with: reverso dev --port ${newPort}`));
|
|
304
|
+
process.exit(1);
|
|
305
|
+
}
|
|
306
|
+
// Error: Permission denied
|
|
307
|
+
if (errorCode === 'EACCES' || errorMsg.includes('EACCES')) {
|
|
308
|
+
console.log();
|
|
309
|
+
console.log(chalk.red('Permission denied.'));
|
|
310
|
+
console.log(chalk.gray('Try running with elevated permissions or check file permissions.'));
|
|
311
|
+
process.exit(1);
|
|
312
|
+
}
|
|
313
|
+
// Error: Database locked
|
|
314
|
+
if (errorMsg.includes('SQLITE_BUSY') || errorMsg.includes('database is locked')) {
|
|
315
|
+
console.log();
|
|
316
|
+
console.log(chalk.red('Database is locked by another process.'));
|
|
317
|
+
console.log(chalk.gray('Close other Reverso instances and try again.'));
|
|
318
|
+
process.exit(1);
|
|
319
|
+
}
|
|
320
|
+
// Generic error
|
|
94
321
|
spinner.fail(chalk.red('Failed to start development server'));
|
|
95
|
-
console.error(
|
|
322
|
+
console.error(errorMsg);
|
|
323
|
+
console.log();
|
|
324
|
+
console.log(chalk.gray('If this persists, try:'));
|
|
325
|
+
console.log(chalk.cyan(' 1. Delete node_modules and reinstall'));
|
|
326
|
+
console.log(chalk.cyan(' 2. Run: npx @reverso/cli init --force'));
|
|
327
|
+
console.log(chalk.cyan(' 3. Report issue: https://github.com/hogrid/reverso/issues'));
|
|
96
328
|
process.exit(1);
|
|
97
329
|
}
|
|
98
330
|
});
|
package/dist/commands/dev.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAYhD,SAAS,oBAAoB,CAAC,GAAW;IACvC,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,KAAK,CAAC;IACxD,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,gBAAgB,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9D,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;QAAE,OAAO,MAAM,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAkB,EAAE,QAAkB;IAC/D,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnC,QAAQ,EAAE,EAAE,CAAC;QACX,KAAK,KAAK,CAAC,CAAC,OAAO,WAAW,OAAO,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,OAAO,YAAY,OAAO,EAAE,CAAC;QAC1C,KAAK,MAAM,CAAC,CAAC,OAAO,YAAY,OAAO,EAAE,CAAC;QAC1C,OAAO,CAAC,CAAC,OAAO,eAAe,OAAO,EAAE,CAAC;IAC3C,CAAC;AACH,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,OAA+B;IACjE,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAErC,OAAO,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAE/D,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,EAAE,KAAK,MAAM;YAC9B,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,EAAE,KAAK,KAAK;gBACZ,CAAC,CAAC,aAAa;gBACf,CAAC,CAAC,GAAG,EAAE,yBAAyB,CAAC;QAErC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,kCAAkC,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,KAAK,UAAU,0BAA0B,CAAC,OAA+B,EAAE,QAAkB;IAC3F,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAC1B,MAAM,EAAE,GAAG,oBAAoB,CAAC,GAAG,CAAC,CAAC;IAErC,OAAO,CAAC,KAAK,CAAC,oCAAoC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAE5E,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,iBAAiB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnD,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,OAAO,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;QAE1C,4CAA4C;QAC5C,OAAO,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAC5C,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,EAAE,UAAU,CAAC;YAClE,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YAC7C,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;QAC1C,CAAC;QAAC,MAAM,CAAC;YACP,yDAAyD;QAC3D,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC/C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,IAAY;IAC/B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,YAAY,EAAE,EAAE,EAAE;YAC3C,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,EAAE;gBAClD,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBAC9B,OAAO,CAAC,IAAI,CAAC,CAAC;gBAChB,CAAC;qBAAM,CAAC;oBACN,OAAO,CAAC,KAAK,CAAC,CAAC;gBACjB,CAAC;YACH,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,EAAE;gBAC5B,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,SAAiB;IAChD,IAAI,IAAI,GAAG,SAAS,CAAC;IACrB,OAAO,MAAM,WAAW,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,SAAS,GAAG,GAAG,EAAE,CAAC;QACzD,IAAI,EAAE,CAAC;IACT,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAgB;IACzC,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,wCAAwC,CAAC;SACrD,MAAM,CAAC,mBAAmB,EAAE,iBAAiB,EAAE,MAAM,CAAC;SACtD,MAAM,CAAC,mBAAmB,EAAE,aAAa,EAAE,WAAW,CAAC;SACvD,MAAM,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,iBAAiB,CAAC;SACxE,MAAM,CAAC,iBAAiB,EAAE,2BAA2B,EAAE,OAAO,CAAC;SAC/D,MAAM,CAAC,QAAQ,EAAE,6BAA6B,EAAE,KAAK,CAAC;SACtD,MAAM,CAAC,KAAK,EAAE,OAAmB,EAAE,EAAE;QACpC,MAAM,OAAO,GAAG,GAAG,EAAE,CAAC;QACtB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC1B,IAAI,UAAU,GAAG,KAAK,CAAC;QACvB,IAAI,UAAU,GAAG,KAAK,CAAC;QAEvB,oBAAoB;QACpB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,EAAE,CAAC;QAEd,8BAA8B;QAC9B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACrD,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;QACvD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;YACzD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,gDAAgD,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,IAAI,CAAC;gBACH,QAAQ,CAAC,6BAA6B,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBACnE,OAAO,CAAC,8BAA8B;YACxC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,kDAAkD,CAAC,CAAC,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,+CAA+C;QAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,gCAAgC,CAAC,CAAC;YAChD,IAAI,CAAC;gBACH,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;gBAC3C,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAC;YAChD,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;QACH,CAAC;QAED,6BAA6B;QAC7B,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,MAAM,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,uCAAuC,CAAC,CAAC;YACnE,IAAI,GAAG,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC;YACrC,OAAO,CAAC,OAAO,CAAC,cAAc,IAAI,EAAE,CAAC,CAAC;QACxC,CAAC;QAED,MAAM,WAAW,GAAG,KAAK,IAAmB,EAAE;YAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAEzC,mCAAmC;YACnC,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;YAC9B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvB,SAAS,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,CAAC;YAED,4BAA4B;YAC5B,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC1C,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;YAC7D,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;YACnC,OAAO,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;YAExC,8BAA8B;YAC9B,OAAO,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAC1C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;YAC3D,MAAM,OAAO,GAAG,aAAa,CAAC;gBAC5B,MAAM,EAAE,OAAO,CAAC,GAAG;gBACnB,SAAS,EAAE,UAAU;aACtB,CAAC,CAAC;YAEH,eAAe;YACf,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;YACrB,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;YAEzC,iCAAiC;YACjC,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,EAAE;gBACnB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC9C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6BAA6B,KAAK,CAAC,MAAM,CAAC,WAAW,SAAS,CAAC,CAAC,CAAC;gBAC1F,CAAC;YACH,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,UAAU,EAAE,CAAC;YAErB,mBAAmB;YACnB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;YACxC,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,CAAC;YAEtF,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC;gBACnC,IAAI;gBACJ,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,WAAW,EAAE,MAAM;gBACnB,IAAI,EAAE,IAAI;gBACV,MAAM,EAAE,KAAK;aACd,CAAC,CAAC;YAEH,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;YAC7B,OAAO,CAAC,OAAO,CAAC,gCAAgC,OAAO,CAAC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;YAExE,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC,CAAC;YAC3D,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC;YACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,IAAI,IAAI,IAAI,cAAc,CAAC,CAAC,CAAC;YACjF,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,qBAAqB,OAAO,CAAC,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC;YAC5E,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAElD,4BAA4B;YAC5B,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACjB,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;gBAErD,6CAA6C;gBAC7C,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC;gBACpF,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;gBAClF,MAAM,GAAG,GAAG,UAAU,QAAQ,IAAI,QAAQ,EAAE,CAAC;gBAE7C,oEAAoE;gBACpE,MAAM,WAAW,GACf,OAAO,CAAC,QAAQ,KAAK,QAAQ;oBAC3B,CAAC,CAAC,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE;oBAC9B,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;wBAC5B,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE;wBAChD,CAAC,CAAC,EAAE,GAAG,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;gBAEzC,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE,WAAW,CAAC,IAAI,EAAE;oBACvC,QAAQ,EAAE,IAAI;oBACd,KAAK,EAAE,QAAQ;iBAChB,CAAC,CAAC,KAAK,EAAE,CAAC;YACb,CAAC;YAED,kBAAkB;YAClB,MAAM,QAAQ,GAAG,KAAK,IAAI,EAAE;gBAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC9C,OAAO,CAAC,SAAS,EAAE,CAAC;gBACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC,CAAC;YAEF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YAC/B,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAClC,CAAC,CAAC;QAEF,IAAI,CAAC;YACH,MAAM,WAAW,EAAE,CAAC;QACtB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YACxE,MAAM,SAAS,GAAI,KAA+B,EAAE,IAAI,CAAC;YAEzD,kDAAkD;YAClD,IAAI,QAAQ,CAAC,QAAQ,CAAC,oCAAoC,CAAC;gBACvD,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACxC,QAAQ,CAAC,QAAQ,CAAC,kDAAkD,CAAC,EAAE,CAAC;gBAE1E,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,oDAAoD,CAAC,CAAC,CAAC;oBAChF,OAAO,CAAC,GAAG,EAAE,CAAC;oBAEd,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;oBAEpD,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,GAAG,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,GAAG,EAAE,CAAC;wBAEd,IAAI,CAAC;4BACH,MAAM,WAAW,EAAE,CAAC;4BACpB,OAAO;wBACT,CAAC;wBAAC,OAAO,UAAU,EAAE,CAAC;4BACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC,CAAC;4BACzD,OAAO,CAAC,KAAK,CAAC,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;4BACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,8BAA8B;YAC9B,IAAI,QAAQ,CAAC,QAAQ,CAAC,qBAAqB,CAAC;gBACxC,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC;gBACvC,SAAS,KAAK,sBAAsB,EAAE,CAAC;gBAEzC,kCAAkC;gBAClC,MAAM,eAAe,GAAG,QAAQ,CAAC,KAAK,CAAC,qEAAqE,CAAC,CAAC;gBAC9G,MAAM,eAAe,GAAa,EAAE,CAAC;gBAErC,IAAI,eAAe,IAAI,eAAe,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC1C,MAAM,GAAG,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;oBAC/B,IAAI,GAAG,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;wBAChC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBAED,iDAAiD;gBACjD,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBACjC,eAAe,CAAC,IAAI,CAAC,eAAe,EAAE,cAAc,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,CAAC,CAAC;gBAC3G,CAAC;gBAED,IAAI,CAAC,UAAU,EAAE,CAAC;oBAChB,OAAO,CAAC,GAAG,EAAE,CAAC;oBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,8CAA8C,CAAC,CAAC,CAAC;oBAC1E,OAAO,CAAC,GAAG,EAAE,CAAC;oBAEd,UAAU,GAAG,IAAI,CAAC;oBAClB,MAAM,SAAS,GAAG,MAAM,0BAA0B,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;oBAE7E,IAAI,SAAS,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC,CAAC;wBACtD,OAAO,CAAC,GAAG,EAAE,CAAC;wBAEd,IAAI,CAAC;4BACH,MAAM,WAAW,EAAE,CAAC;4BACpB,OAAO;wBACT,CAAC;wBAAC,OAAO,UAAU,EAAE,CAAC;4BACpB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC,CAAC;4BACzE,OAAO,CAAC,KAAK,CAAC,UAAU,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;4BACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBAClB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,IAAI,SAAS,KAAK,YAAY,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;gBAClE,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,IAAI,qBAAqB,CAAC,CAAC,CAAC;gBAC7D,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,OAAO,EAAE,CAAC,CAAC,CAAC;gBAC3E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,2BAA2B;YAC3B,IAAI,SAAS,KAAK,QAAQ,IAAI,QAAQ,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1D,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC,CAAC;gBAC5F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,yBAAyB;YACzB,IAAI,QAAQ,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;gBAChF,OAAO,CAAC,GAAG,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,wCAAwC,CAAC,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC,CAAC;gBACxE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YAED,gBAAgB;YAChB,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;YAC9D,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACxB,OAAO,CAAC,GAAG,EAAE,CAAC;YACd,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,6DAA6D,CAAC,CAAC,CAAC;YACvF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC,CAAC,CAAC;AACP,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmGzC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA4OlD"}
|
package/dist/commands/init.js
CHANGED
|
@@ -3,9 +3,11 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import chalk from 'chalk';
|
|
5
5
|
import ora from 'ora';
|
|
6
|
+
import prompts from 'prompts';
|
|
6
7
|
import { existsSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
7
8
|
import { resolve, join } from 'node:path';
|
|
8
|
-
import {
|
|
9
|
+
import { execSync, spawn } from 'node:child_process';
|
|
10
|
+
import { showBanner, showSuccess, showTip } from '../ui/index.js';
|
|
9
11
|
const CONFIG_TEMPLATE = `import { defineConfig } from '@reverso/core';
|
|
10
12
|
|
|
11
13
|
export default defineConfig({
|
|
@@ -50,16 +52,58 @@ export function Hero() {
|
|
|
50
52
|
);
|
|
51
53
|
}
|
|
52
54
|
`;
|
|
55
|
+
function detectPackageManager(cwd) {
|
|
56
|
+
if (existsSync(resolve(cwd, 'bun.lockb')))
|
|
57
|
+
return 'bun';
|
|
58
|
+
if (existsSync(resolve(cwd, 'pnpm-lock.yaml')))
|
|
59
|
+
return 'pnpm';
|
|
60
|
+
if (existsSync(resolve(cwd, 'yarn.lock')))
|
|
61
|
+
return 'yarn';
|
|
62
|
+
return 'npm';
|
|
63
|
+
}
|
|
64
|
+
function getInstallCommand(pm, packages) {
|
|
65
|
+
const pkgList = packages.join(' ');
|
|
66
|
+
switch (pm) {
|
|
67
|
+
case 'bun':
|
|
68
|
+
return `bun add ${pkgList}`;
|
|
69
|
+
case 'pnpm':
|
|
70
|
+
return `pnpm add ${pkgList}`;
|
|
71
|
+
case 'yarn':
|
|
72
|
+
return `yarn add ${pkgList}`;
|
|
73
|
+
default:
|
|
74
|
+
return `npm install ${pkgList}`;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
function runCommand(command, cwd) {
|
|
78
|
+
try {
|
|
79
|
+
execSync(command, { cwd, stdio: 'inherit' });
|
|
80
|
+
return true;
|
|
81
|
+
}
|
|
82
|
+
catch {
|
|
83
|
+
return false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
function openBrowser(url) {
|
|
87
|
+
const platform = process.platform;
|
|
88
|
+
const command = platform === 'darwin' ? 'open' : platform === 'win32' ? 'start' : 'xdg-open';
|
|
89
|
+
try {
|
|
90
|
+
execSync(`${command} ${url}`, { stdio: 'ignore' });
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
// Ignore errors opening browser
|
|
94
|
+
}
|
|
95
|
+
}
|
|
53
96
|
export function initCommand(program) {
|
|
54
97
|
program
|
|
55
98
|
.command('init')
|
|
56
99
|
.description('Initialize Reverso in an existing project')
|
|
57
100
|
.option('-f, --force', 'Overwrite existing configuration', false)
|
|
58
101
|
.option('--example', 'Create an example component with markers', false)
|
|
102
|
+
.option('-y, --yes', 'Skip prompts and use defaults', false)
|
|
59
103
|
.action(async (options) => {
|
|
60
104
|
const spinner = ora();
|
|
61
105
|
// Show branded banner
|
|
62
|
-
showBanner({ version: '0.1.
|
|
106
|
+
showBanner({ version: '0.1.4' });
|
|
63
107
|
console.log(chalk.blue.bold('Initializing Reverso CMS...'));
|
|
64
108
|
console.log();
|
|
65
109
|
// Verify current directory exists
|
|
@@ -68,19 +112,31 @@ export function initCommand(program) {
|
|
|
68
112
|
cwd = process.cwd();
|
|
69
113
|
}
|
|
70
114
|
catch {
|
|
71
|
-
console.log(chalk.red('
|
|
115
|
+
console.log(chalk.red('Error: Current directory does not exist.'));
|
|
72
116
|
console.log(chalk.gray(' Please navigate to a valid directory and try again.'));
|
|
73
117
|
process.exit(1);
|
|
74
118
|
}
|
|
119
|
+
// Check if package.json exists
|
|
120
|
+
const packageJsonPath = resolve(cwd, 'package.json');
|
|
121
|
+
if (!existsSync(packageJsonPath)) {
|
|
122
|
+
console.log(chalk.red('Error: No package.json found.'));
|
|
123
|
+
console.log(chalk.gray(' Please run this command in a Node.js project directory.'));
|
|
124
|
+
console.log(chalk.gray(' Or create a new project with: npx create-reverso@latest'));
|
|
125
|
+
process.exit(1);
|
|
126
|
+
}
|
|
75
127
|
const configPath = resolve(cwd, 'reverso.config.ts');
|
|
76
128
|
const configPathJs = resolve(cwd, 'reverso.config.js');
|
|
77
129
|
// Check if config already exists
|
|
78
130
|
if (!options.force && (existsSync(configPath) || existsSync(configPathJs))) {
|
|
79
|
-
console.log(chalk.yellow('
|
|
131
|
+
console.log(chalk.yellow('Configuration file already exists.'));
|
|
80
132
|
console.log(chalk.gray(' Use --force to overwrite.'));
|
|
81
133
|
console.log();
|
|
82
134
|
return;
|
|
83
135
|
}
|
|
136
|
+
// Detect package manager
|
|
137
|
+
const packageManager = detectPackageManager(cwd);
|
|
138
|
+
console.log(chalk.gray(`Detected package manager: ${packageManager}`));
|
|
139
|
+
console.log();
|
|
84
140
|
// Create config file
|
|
85
141
|
spinner.start('Creating configuration file...');
|
|
86
142
|
try {
|
|
@@ -148,18 +204,111 @@ export function initCommand(program) {
|
|
|
148
204
|
catch {
|
|
149
205
|
spinner.info('Could not update .gitignore');
|
|
150
206
|
}
|
|
207
|
+
console.log();
|
|
208
|
+
// Install dependencies
|
|
209
|
+
const installDeps = options.yes || (await prompts({
|
|
210
|
+
type: 'confirm',
|
|
211
|
+
name: 'value',
|
|
212
|
+
message: 'Install Reverso dependencies?',
|
|
213
|
+
initial: true,
|
|
214
|
+
})).value;
|
|
215
|
+
if (installDeps) {
|
|
216
|
+
console.log();
|
|
217
|
+
spinner.start('Installing dependencies...');
|
|
218
|
+
const installCmd = getInstallCommand(packageManager, ['@reverso/core', '@reverso/cli']);
|
|
219
|
+
spinner.text = `Running: ${chalk.gray(installCmd)}`;
|
|
220
|
+
try {
|
|
221
|
+
execSync(installCmd, { cwd, stdio: 'pipe' });
|
|
222
|
+
spinner.succeed('Dependencies installed');
|
|
223
|
+
// Rebuild native modules (better-sqlite3 requires this)
|
|
224
|
+
spinner.start('Building native modules...');
|
|
225
|
+
try {
|
|
226
|
+
const rebuildCmd = packageManager === 'npm' ? 'npm rebuild' : `${packageManager} rebuild`;
|
|
227
|
+
execSync(rebuildCmd, { cwd, stdio: 'pipe' });
|
|
228
|
+
spinner.succeed('Native modules built');
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
spinner.warn('Native modules may need manual rebuild: pnpm rebuild better-sqlite3');
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
catch (error) {
|
|
235
|
+
spinner.fail('Failed to install dependencies');
|
|
236
|
+
console.log(chalk.gray(' You can install manually:'));
|
|
237
|
+
console.log(chalk.cyan(` ${installCmd}`));
|
|
238
|
+
}
|
|
239
|
+
}
|
|
151
240
|
// Show success message
|
|
241
|
+
console.log();
|
|
152
242
|
showSuccess('Reverso initialized successfully!', [
|
|
153
243
|
`${chalk.cyan('Config:')} reverso.config.ts`,
|
|
154
244
|
`${chalk.cyan('Output:')} .reverso/`,
|
|
155
245
|
]);
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
246
|
+
// Ask about scanning
|
|
247
|
+
const runScan = options.yes || (await prompts({
|
|
248
|
+
type: 'confirm',
|
|
249
|
+
name: 'value',
|
|
250
|
+
message: 'Scan your project for data-reverso markers now?',
|
|
251
|
+
initial: true,
|
|
252
|
+
})).value;
|
|
253
|
+
if (runScan) {
|
|
254
|
+
console.log();
|
|
255
|
+
spinner.start('Scanning project...');
|
|
256
|
+
try {
|
|
257
|
+
execSync('npx reverso scan', { cwd, stdio: 'pipe' });
|
|
258
|
+
spinner.succeed('Project scanned');
|
|
259
|
+
}
|
|
260
|
+
catch {
|
|
261
|
+
spinner.warn('No markers found yet. Add data-reverso attributes to your components.');
|
|
262
|
+
}
|
|
263
|
+
// Ask about starting dev server
|
|
264
|
+
const startDev = options.yes || (await prompts({
|
|
265
|
+
type: 'confirm',
|
|
266
|
+
name: 'value',
|
|
267
|
+
message: 'Start the development server?',
|
|
268
|
+
initial: true,
|
|
269
|
+
})).value;
|
|
270
|
+
if (startDev) {
|
|
271
|
+
console.log();
|
|
272
|
+
console.log(chalk.blue.bold('Starting Reverso dev server...'));
|
|
273
|
+
console.log();
|
|
274
|
+
console.log(chalk.gray(' Admin panel: ') + chalk.cyan.underline('http://localhost:4000/admin'));
|
|
275
|
+
console.log(chalk.gray(' API: ') + chalk.cyan.underline('http://localhost:4000/api'));
|
|
276
|
+
console.log();
|
|
277
|
+
showTip('Press Ctrl+C to stop the server');
|
|
278
|
+
console.log();
|
|
279
|
+
// Open browser after a short delay
|
|
280
|
+
setTimeout(() => {
|
|
281
|
+
openBrowser('http://localhost:4000/admin');
|
|
282
|
+
}, 2000);
|
|
283
|
+
// Start dev server (this will block)
|
|
284
|
+
const child = spawn('npx', ['reverso', 'dev'], {
|
|
285
|
+
cwd,
|
|
286
|
+
stdio: 'inherit',
|
|
287
|
+
});
|
|
288
|
+
child.on('error', () => {
|
|
289
|
+
console.log(chalk.red('Failed to start dev server'));
|
|
290
|
+
});
|
|
291
|
+
// Keep process running
|
|
292
|
+
process.on('SIGINT', () => {
|
|
293
|
+
child.kill('SIGINT');
|
|
294
|
+
process.exit(0);
|
|
295
|
+
});
|
|
296
|
+
return; // Don't show next steps since we're running dev
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
// Show next steps only if not starting dev
|
|
300
|
+
console.log();
|
|
301
|
+
console.log(chalk.bold('Next steps:'));
|
|
302
|
+
console.log();
|
|
303
|
+
console.log(chalk.gray(' 1. Add markers to your components:'));
|
|
304
|
+
console.log(chalk.cyan(' <h1 data-reverso="page.section.field" data-reverso-type="text">'));
|
|
305
|
+
console.log();
|
|
306
|
+
console.log(chalk.gray(' 2. Start the development server:'));
|
|
307
|
+
console.log(chalk.cyan(' npx reverso dev'));
|
|
308
|
+
console.log();
|
|
309
|
+
console.log(chalk.gray(' 3. Open the admin panel:'));
|
|
310
|
+
console.log(chalk.cyan(' http://localhost:4000/admin'));
|
|
311
|
+
console.log();
|
|
163
312
|
});
|
|
164
313
|
}
|
|
165
314
|
//# sourceMappingURL=init.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|