@reverso/cli 0.1.3 → 0.1.4
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/init.d.ts.map +1 -1
- package/dist/commands/init.js +151 -11
- package/dist/commands/init.js.map +1 -1
- package/package.json +1 -1
|
@@ -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,CAmOlD"}
|
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,102 @@ 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
|
+
}
|
|
224
|
+
catch (error) {
|
|
225
|
+
spinner.fail('Failed to install dependencies');
|
|
226
|
+
console.log(chalk.gray(' You can install manually:'));
|
|
227
|
+
console.log(chalk.cyan(` ${installCmd}`));
|
|
228
|
+
}
|
|
229
|
+
}
|
|
151
230
|
// Show success message
|
|
231
|
+
console.log();
|
|
152
232
|
showSuccess('Reverso initialized successfully!', [
|
|
153
233
|
`${chalk.cyan('Config:')} reverso.config.ts`,
|
|
154
234
|
`${chalk.cyan('Output:')} .reverso/`,
|
|
155
235
|
]);
|
|
156
|
-
//
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
236
|
+
// Ask about scanning
|
|
237
|
+
const runScan = options.yes || (await prompts({
|
|
238
|
+
type: 'confirm',
|
|
239
|
+
name: 'value',
|
|
240
|
+
message: 'Scan your project for data-reverso markers now?',
|
|
241
|
+
initial: true,
|
|
242
|
+
})).value;
|
|
243
|
+
if (runScan) {
|
|
244
|
+
console.log();
|
|
245
|
+
spinner.start('Scanning project...');
|
|
246
|
+
try {
|
|
247
|
+
execSync('npx reverso scan', { cwd, stdio: 'pipe' });
|
|
248
|
+
spinner.succeed('Project scanned');
|
|
249
|
+
}
|
|
250
|
+
catch {
|
|
251
|
+
spinner.warn('No markers found yet. Add data-reverso attributes to your components.');
|
|
252
|
+
}
|
|
253
|
+
// Ask about starting dev server
|
|
254
|
+
const startDev = options.yes || (await prompts({
|
|
255
|
+
type: 'confirm',
|
|
256
|
+
name: 'value',
|
|
257
|
+
message: 'Start the development server?',
|
|
258
|
+
initial: true,
|
|
259
|
+
})).value;
|
|
260
|
+
if (startDev) {
|
|
261
|
+
console.log();
|
|
262
|
+
console.log(chalk.blue.bold('Starting Reverso dev server...'));
|
|
263
|
+
console.log();
|
|
264
|
+
console.log(chalk.gray(' Admin panel: ') + chalk.cyan.underline('http://localhost:4000/admin'));
|
|
265
|
+
console.log(chalk.gray(' API: ') + chalk.cyan.underline('http://localhost:4000/api'));
|
|
266
|
+
console.log();
|
|
267
|
+
showTip('Press Ctrl+C to stop the server');
|
|
268
|
+
console.log();
|
|
269
|
+
// Open browser after a short delay
|
|
270
|
+
setTimeout(() => {
|
|
271
|
+
openBrowser('http://localhost:4000/admin');
|
|
272
|
+
}, 2000);
|
|
273
|
+
// Start dev server (this will block)
|
|
274
|
+
const child = spawn('npx', ['reverso', 'dev'], {
|
|
275
|
+
cwd,
|
|
276
|
+
stdio: 'inherit',
|
|
277
|
+
shell: true,
|
|
278
|
+
});
|
|
279
|
+
child.on('error', () => {
|
|
280
|
+
console.log(chalk.red('Failed to start dev server'));
|
|
281
|
+
});
|
|
282
|
+
// Keep process running
|
|
283
|
+
process.on('SIGINT', () => {
|
|
284
|
+
child.kill('SIGINT');
|
|
285
|
+
process.exit(0);
|
|
286
|
+
});
|
|
287
|
+
return; // Don't show next steps since we're running dev
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
// Show next steps only if not starting dev
|
|
291
|
+
console.log();
|
|
292
|
+
console.log(chalk.bold('Next steps:'));
|
|
293
|
+
console.log();
|
|
294
|
+
console.log(chalk.gray(' 1. Add markers to your components:'));
|
|
295
|
+
console.log(chalk.cyan(' <h1 data-reverso="page.section.field" data-reverso-type="text">'));
|
|
296
|
+
console.log();
|
|
297
|
+
console.log(chalk.gray(' 2. Start the development server:'));
|
|
298
|
+
console.log(chalk.cyan(' npx reverso dev'));
|
|
299
|
+
console.log();
|
|
300
|
+
console.log(chalk.gray(' 3. Open the admin panel:'));
|
|
301
|
+
console.log(chalk.cyan(' http://localhost:4000/admin'));
|
|
302
|
+
console.log();
|
|
163
303
|
});
|
|
164
304
|
}
|
|
165
305
|
//# 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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"}
|