@reverso/cli 0.1.1 → 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/bin.js +2 -0
- package/dist/bin.js.map +1 -1
- package/dist/commands/index.d.ts +1 -0
- package/dist/commands/index.d.ts.map +1 -1
- package/dist/commands/index.js +1 -0
- package/dist/commands/index.js.map +1 -1
- package/dist/commands/init.d.ts +6 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +305 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/ui/banner.d.ts +39 -0
- package/dist/ui/banner.d.ts.map +1 -0
- package/dist/ui/banner.js +144 -0
- package/dist/ui/banner.js.map +1 -0
- package/dist/ui/index.d.ts +5 -0
- package/dist/ui/index.d.ts.map +1 -0
- package/dist/ui/index.js +5 -0
- package/dist/ui/index.js.map +1 -0
- package/package.json +11 -6
package/dist/bin.js
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
import { program } from 'commander';
|
|
6
6
|
import { buildCommand } from './commands/build.js';
|
|
7
7
|
import { devCommand } from './commands/dev.js';
|
|
8
|
+
import { initCommand } from './commands/init.js';
|
|
8
9
|
import { migrateCommand } from './commands/migrate.js';
|
|
9
10
|
import { scanCommand } from './commands/scan.js';
|
|
10
11
|
import { startCommand } from './commands/start.js';
|
|
@@ -14,6 +15,7 @@ program
|
|
|
14
15
|
.description('Command line interface for Reverso CMS')
|
|
15
16
|
.version(VERSION);
|
|
16
17
|
// Register commands
|
|
18
|
+
initCommand(program);
|
|
17
19
|
scanCommand(program);
|
|
18
20
|
devCommand(program);
|
|
19
21
|
buildCommand(program);
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,wCAAwC,CAAC;KACrD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAErC,OAAO;KACJ,IAAI,CAAC,SAAS,CAAC;KACf,WAAW,CAAC,wCAAwC,CAAC;KACrD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,WAAW,CAAC,OAAO,CAAC,CAAC;AACrB,UAAU,CAAC,OAAO,CAAC,CAAC;AACpB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,YAAY,CAAC,OAAO,CAAC,CAAC;AACtB,cAAc,CAAC,OAAO,CAAC,CAAC;AAExB,OAAO,CAAC,KAAK,EAAE,CAAC"}
|
package/dist/commands/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
package/dist/commands/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/commands/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +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;AAmGzC,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmOlD"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Init command - initialize Reverso in an existing project.
|
|
3
|
+
*/
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import ora from 'ora';
|
|
6
|
+
import prompts from 'prompts';
|
|
7
|
+
import { existsSync, writeFileSync, mkdirSync } from 'node:fs';
|
|
8
|
+
import { resolve, join } from 'node:path';
|
|
9
|
+
import { execSync, spawn } from 'node:child_process';
|
|
10
|
+
import { showBanner, showSuccess, showTip } from '../ui/index.js';
|
|
11
|
+
const CONFIG_TEMPLATE = `import { defineConfig } from '@reverso/core';
|
|
12
|
+
|
|
13
|
+
export default defineConfig({
|
|
14
|
+
// Source directory to scan for data-reverso markers
|
|
15
|
+
srcDir: './src',
|
|
16
|
+
|
|
17
|
+
// Output directory for generated files
|
|
18
|
+
outputDir: '.reverso',
|
|
19
|
+
|
|
20
|
+
// Database configuration
|
|
21
|
+
database: {
|
|
22
|
+
type: 'sqlite',
|
|
23
|
+
url: '.reverso/dev.db',
|
|
24
|
+
},
|
|
25
|
+
|
|
26
|
+
// API server configuration
|
|
27
|
+
api: {
|
|
28
|
+
port: 4000,
|
|
29
|
+
cors: true,
|
|
30
|
+
},
|
|
31
|
+
});
|
|
32
|
+
`;
|
|
33
|
+
const EXAMPLE_COMPONENT = `// Example component with Reverso markers
|
|
34
|
+
// Add data-reverso attributes to make content editable
|
|
35
|
+
|
|
36
|
+
export function Hero() {
|
|
37
|
+
return (
|
|
38
|
+
<section className="hero">
|
|
39
|
+
<h1 data-reverso="home.hero.title" data-reverso-type="text">
|
|
40
|
+
Welcome to My Site
|
|
41
|
+
</h1>
|
|
42
|
+
<p data-reverso="home.hero.subtitle" data-reverso-type="textarea">
|
|
43
|
+
This content can be edited in the Reverso admin panel.
|
|
44
|
+
</p>
|
|
45
|
+
<img
|
|
46
|
+
data-reverso="home.hero.image"
|
|
47
|
+
data-reverso-type="image"
|
|
48
|
+
src="/placeholder.jpg"
|
|
49
|
+
alt="Hero image"
|
|
50
|
+
/>
|
|
51
|
+
</section>
|
|
52
|
+
);
|
|
53
|
+
}
|
|
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
|
+
}
|
|
96
|
+
export function initCommand(program) {
|
|
97
|
+
program
|
|
98
|
+
.command('init')
|
|
99
|
+
.description('Initialize Reverso in an existing project')
|
|
100
|
+
.option('-f, --force', 'Overwrite existing configuration', false)
|
|
101
|
+
.option('--example', 'Create an example component with markers', false)
|
|
102
|
+
.option('-y, --yes', 'Skip prompts and use defaults', false)
|
|
103
|
+
.action(async (options) => {
|
|
104
|
+
const spinner = ora();
|
|
105
|
+
// Show branded banner
|
|
106
|
+
showBanner({ version: '0.1.4' });
|
|
107
|
+
console.log(chalk.blue.bold('Initializing Reverso CMS...'));
|
|
108
|
+
console.log();
|
|
109
|
+
// Verify current directory exists
|
|
110
|
+
let cwd;
|
|
111
|
+
try {
|
|
112
|
+
cwd = process.cwd();
|
|
113
|
+
}
|
|
114
|
+
catch {
|
|
115
|
+
console.log(chalk.red('Error: Current directory does not exist.'));
|
|
116
|
+
console.log(chalk.gray(' Please navigate to a valid directory and try again.'));
|
|
117
|
+
process.exit(1);
|
|
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
|
+
}
|
|
127
|
+
const configPath = resolve(cwd, 'reverso.config.ts');
|
|
128
|
+
const configPathJs = resolve(cwd, 'reverso.config.js');
|
|
129
|
+
// Check if config already exists
|
|
130
|
+
if (!options.force && (existsSync(configPath) || existsSync(configPathJs))) {
|
|
131
|
+
console.log(chalk.yellow('Configuration file already exists.'));
|
|
132
|
+
console.log(chalk.gray(' Use --force to overwrite.'));
|
|
133
|
+
console.log();
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
// Detect package manager
|
|
137
|
+
const packageManager = detectPackageManager(cwd);
|
|
138
|
+
console.log(chalk.gray(`Detected package manager: ${packageManager}`));
|
|
139
|
+
console.log();
|
|
140
|
+
// Create config file
|
|
141
|
+
spinner.start('Creating configuration file...');
|
|
142
|
+
try {
|
|
143
|
+
writeFileSync(configPath, CONFIG_TEMPLATE);
|
|
144
|
+
spinner.succeed(`Created ${chalk.cyan('reverso.config.ts')}`);
|
|
145
|
+
}
|
|
146
|
+
catch {
|
|
147
|
+
spinner.fail('Failed to create configuration file');
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
// Create .reverso directory
|
|
151
|
+
spinner.start('Creating .reverso directory...');
|
|
152
|
+
try {
|
|
153
|
+
const reversoDir = resolve(cwd, '.reverso');
|
|
154
|
+
if (!existsSync(reversoDir)) {
|
|
155
|
+
mkdirSync(reversoDir, { recursive: true });
|
|
156
|
+
}
|
|
157
|
+
spinner.succeed(`Created ${chalk.cyan('.reverso/')} directory`);
|
|
158
|
+
}
|
|
159
|
+
catch {
|
|
160
|
+
spinner.fail('Failed to create .reverso directory');
|
|
161
|
+
}
|
|
162
|
+
// Create example component if requested
|
|
163
|
+
if (options.example) {
|
|
164
|
+
spinner.start('Creating example component...');
|
|
165
|
+
try {
|
|
166
|
+
const srcDir = resolve(cwd, 'src');
|
|
167
|
+
const componentsDir = join(srcDir, 'components');
|
|
168
|
+
if (!existsSync(componentsDir)) {
|
|
169
|
+
mkdirSync(componentsDir, { recursive: true });
|
|
170
|
+
}
|
|
171
|
+
const examplePath = join(componentsDir, 'Hero.tsx');
|
|
172
|
+
if (!existsSync(examplePath) || options.force) {
|
|
173
|
+
writeFileSync(examplePath, EXAMPLE_COMPONENT);
|
|
174
|
+
spinner.succeed(`Created ${chalk.cyan('src/components/Hero.tsx')}`);
|
|
175
|
+
}
|
|
176
|
+
else {
|
|
177
|
+
spinner.info('Example component already exists, skipping');
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
catch {
|
|
181
|
+
spinner.fail('Failed to create example component');
|
|
182
|
+
}
|
|
183
|
+
}
|
|
184
|
+
// Add to .gitignore if it exists
|
|
185
|
+
spinner.start('Updating .gitignore...');
|
|
186
|
+
try {
|
|
187
|
+
const gitignorePath = resolve(cwd, '.gitignore');
|
|
188
|
+
if (existsSync(gitignorePath)) {
|
|
189
|
+
const { readFileSync, appendFileSync } = await import('node:fs');
|
|
190
|
+
const content = readFileSync(gitignorePath, 'utf-8');
|
|
191
|
+
if (!content.includes('.reverso')) {
|
|
192
|
+
const additions = '\n# Reverso\n.reverso/\n';
|
|
193
|
+
appendFileSync(gitignorePath, additions);
|
|
194
|
+
spinner.succeed('Added .reverso/ to .gitignore');
|
|
195
|
+
}
|
|
196
|
+
else {
|
|
197
|
+
spinner.info('.reverso/ already in .gitignore');
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
else {
|
|
201
|
+
spinner.info('No .gitignore found, skipping');
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
catch {
|
|
205
|
+
spinner.info('Could not update .gitignore');
|
|
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
|
+
}
|
|
230
|
+
// Show success message
|
|
231
|
+
console.log();
|
|
232
|
+
showSuccess('Reverso initialized successfully!', [
|
|
233
|
+
`${chalk.cyan('Config:')} reverso.config.ts`,
|
|
234
|
+
`${chalk.cyan('Output:')} .reverso/`,
|
|
235
|
+
]);
|
|
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();
|
|
303
|
+
});
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -17,5 +17,5 @@
|
|
|
17
17
|
* ```
|
|
18
18
|
*/
|
|
19
19
|
export declare const VERSION = "0.0.0";
|
|
20
|
-
export { scanCommand, devCommand, migrateCommand } from './commands/index.js';
|
|
20
|
+
export { initCommand, scanCommand, devCommand, migrateCommand } from './commands/index.js';
|
|
21
21
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC;AAG/B,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -18,5 +18,5 @@
|
|
|
18
18
|
*/
|
|
19
19
|
export const VERSION = '0.0.0';
|
|
20
20
|
// Export commands for programmatic use
|
|
21
|
-
export { scanCommand, devCommand, migrateCommand } from './commands/index.js';
|
|
21
|
+
export { initCommand, scanCommand, devCommand, migrateCommand } from './commands/index.js';
|
|
22
22
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC;AAE/B,uCAAuC;AACvC,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI branding and welcome banner.
|
|
3
|
+
*/
|
|
4
|
+
export type LogoStyle = 'default' | 'compact' | 'minimal';
|
|
5
|
+
/**
|
|
6
|
+
* Generate ASCII art logo
|
|
7
|
+
*/
|
|
8
|
+
export declare function generateLogo(style?: LogoStyle): string;
|
|
9
|
+
/**
|
|
10
|
+
* Display the welcome banner
|
|
11
|
+
*/
|
|
12
|
+
export declare function showBanner(options?: {
|
|
13
|
+
version?: string;
|
|
14
|
+
compact?: boolean;
|
|
15
|
+
}): void;
|
|
16
|
+
/**
|
|
17
|
+
* Show a success message in a box
|
|
18
|
+
*/
|
|
19
|
+
export declare function showSuccess(title: string, messages: string[]): void;
|
|
20
|
+
/**
|
|
21
|
+
* Show an error message in a box
|
|
22
|
+
*/
|
|
23
|
+
export declare function showError(title: string, messages: string[]): void;
|
|
24
|
+
/**
|
|
25
|
+
* Show a tip/hint box
|
|
26
|
+
*/
|
|
27
|
+
export declare function showTip(content: string): void;
|
|
28
|
+
/**
|
|
29
|
+
* Show next steps in a formatted way
|
|
30
|
+
*/
|
|
31
|
+
export declare function showNextSteps(steps: Array<{
|
|
32
|
+
step: string;
|
|
33
|
+
command?: string;
|
|
34
|
+
}>): void;
|
|
35
|
+
/**
|
|
36
|
+
* Show a divider line
|
|
37
|
+
*/
|
|
38
|
+
export declare function showDivider(): void;
|
|
39
|
+
//# sourceMappingURL=banner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.d.ts","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"AAAA;;GAEG;AA4CH,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAE1D;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,GAAE,SAAqB,GAAG,MAAM,CAQjE;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE;IAAE,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAsClF;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAWnE;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAWjE;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAU7C;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAWpF;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,IAAI,CAElC"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* CLI branding and welcome banner.
|
|
3
|
+
*/
|
|
4
|
+
import chalk from 'chalk';
|
|
5
|
+
import gradient from 'gradient-string';
|
|
6
|
+
import boxen from 'boxen';
|
|
7
|
+
// Custom gradient colors (blue to purple)
|
|
8
|
+
const reversoGradient = gradient(['#3b82f6', '#8b5cf6', '#d946ef']);
|
|
9
|
+
// Official Reverso ASCII art logo
|
|
10
|
+
const REVERSO_LOGO = `
|
|
11
|
+
███████████████▓▒
|
|
12
|
+
▒███░ ▓███░
|
|
13
|
+
▒███ ▒███░
|
|
14
|
+
▒███ ████
|
|
15
|
+
▒███ ███▓ ░██▓▓██▓ ████████▒ ▓█████▓ ▒██▓▓██▓ ░▓█░ ▒████░ ▓██▓████ ▓██▓███▓
|
|
16
|
+
▒███ ▓███ ░██░ ░██▓ ░███▒ ▓█░ ▒██░ ▒██▓ ▒████▓█▒▒███▒ ▒██ ▒█▒ ███ ███░
|
|
17
|
+
▒██▒ ▒███ ▒██▓ ▓██▒ ▒███░ ░█▒ ▒██▒ ███░ ████ ███ █▒ ▒███ ███░
|
|
18
|
+
░░ ▒▓▓▓████░ ███▒ ████ ████ █▓ ░███░ ░███▓ ███▒ ▓███▓ ████ ▓███
|
|
19
|
+
▒███░ ████ ░████▒▒▒▒▒▒▒▒▒░ ███▓ ▓█ ▒███▓▒▒▒▒▒▒▒▒▒ ███▒ ░██████░ ███▒ ▒███░
|
|
20
|
+
▒███░ ████░ ░███░ ░███▒ ░█░ ▒███░ ███▒ ▒█████▒ ███▒ ▒███░
|
|
21
|
+
▒███░ ▓███▒ ███▓ ▒ ▒███░█▒ ███▒ ▒ ███▒ ▒███▒ ▓███ ▓███
|
|
22
|
+
▒███░ ▓███▒ ░███▒ █▓ ▓███▓ ░███▒ █▒ ███▒ █▒ ▓██▒ ░███░ ░███
|
|
23
|
+
████▒ ▒████░ █████▒▒▒██░ ███ █████▒▒▓██ ░███▓ ██▒ ██▒ ▓██▒ ▒██▒
|
|
24
|
+
░░░░░░░░░ ░░░░░ ▒▓▓▓▒ ▒ ░▒▓▓▓▒ ░░░░░░░░ ░▒▒▓▓▓▒ ▒▒▓▓▒░
|
|
25
|
+
`;
|
|
26
|
+
// Compact version for smaller terminals
|
|
27
|
+
const REVERSO_LOGO_COMPACT = `
|
|
28
|
+
██████╗ ███████╗██╗ ██╗███████╗██████╗ ███████╗ ██████╗
|
|
29
|
+
██╔══██╗██╔════╝██║ ██║██╔════╝██╔══██╗██╔════╝██╔═══██╗
|
|
30
|
+
██████╔╝█████╗ ██║ ██║█████╗ ██████╔╝███████╗██║ ██║
|
|
31
|
+
██╔══██╗██╔══╝ ╚██╗ ██╔╝██╔══╝ ██╔══██╗╚════██║██║ ██║
|
|
32
|
+
██║ ██║███████╗ ╚████╔╝ ███████╗██║ ██║███████║╚██████╔╝
|
|
33
|
+
╚═╝ ╚═╝╚══════╝ ╚═══╝ ╚══════╝╚═╝ ╚═╝╚══════╝ ╚═════╝
|
|
34
|
+
`;
|
|
35
|
+
// Minimal version
|
|
36
|
+
const REVERSO_LOGO_MINIMAL = `
|
|
37
|
+
╦═╗ ╔═╗ ╦ ╦ ╔═╗ ╦═╗ ╔═╗ ╔═╗
|
|
38
|
+
╠╦╝ ║╣ ╚╗╔╝ ║╣ ╠╦╝ ╚═╗ ║ ║
|
|
39
|
+
╩╚═ ╚═╝ ╚╝ ╚═╝ ╩╚═ ╚═╝ ╚═╝
|
|
40
|
+
`;
|
|
41
|
+
/**
|
|
42
|
+
* Generate ASCII art logo
|
|
43
|
+
*/
|
|
44
|
+
export function generateLogo(style = 'default') {
|
|
45
|
+
const logos = {
|
|
46
|
+
default: REVERSO_LOGO,
|
|
47
|
+
compact: REVERSO_LOGO_COMPACT,
|
|
48
|
+
minimal: REVERSO_LOGO_MINIMAL,
|
|
49
|
+
};
|
|
50
|
+
return reversoGradient(logos[style]);
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Display the welcome banner
|
|
54
|
+
*/
|
|
55
|
+
export function showBanner(options) {
|
|
56
|
+
const { version = '0.1.0', compact = false } = options ?? {};
|
|
57
|
+
if (compact) {
|
|
58
|
+
// Compact banner for subcommands
|
|
59
|
+
console.log();
|
|
60
|
+
console.log(reversoGradient(' ▶ Reverso CMS') + chalk.gray(` v${version}`));
|
|
61
|
+
console.log();
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
// Full banner
|
|
65
|
+
console.log();
|
|
66
|
+
console.log(generateLogo('compact'));
|
|
67
|
+
console.log();
|
|
68
|
+
const tagline = chalk.bold('The front-to-back CMS for modern web development');
|
|
69
|
+
const description = chalk.gray('Add markers to your React code. Get a fully-featured CMS automatically.');
|
|
70
|
+
console.log(tagline);
|
|
71
|
+
console.log(description);
|
|
72
|
+
console.log();
|
|
73
|
+
// Info box
|
|
74
|
+
const infoContent = [
|
|
75
|
+
`${chalk.cyan('Version')} ${version}`,
|
|
76
|
+
`${chalk.cyan('Docs')} ${chalk.underline('https://reverso.dev/docs')}`,
|
|
77
|
+
`${chalk.cyan('GitHub')} ${chalk.underline('https://github.com/hogrid/reverso')}`,
|
|
78
|
+
].join('\n');
|
|
79
|
+
console.log(boxen(infoContent, {
|
|
80
|
+
padding: 1,
|
|
81
|
+
margin: { top: 0, bottom: 1, left: 0, right: 0 },
|
|
82
|
+
borderStyle: 'round',
|
|
83
|
+
borderColor: 'gray',
|
|
84
|
+
}));
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* Show a success message in a box
|
|
88
|
+
*/
|
|
89
|
+
export function showSuccess(title, messages) {
|
|
90
|
+
const content = messages.join('\n');
|
|
91
|
+
console.log(boxen(content, {
|
|
92
|
+
title: chalk.green.bold(`✓ ${title}`),
|
|
93
|
+
padding: 1,
|
|
94
|
+
margin: { top: 1, bottom: 1, left: 0, right: 0 },
|
|
95
|
+
borderStyle: 'round',
|
|
96
|
+
borderColor: 'green',
|
|
97
|
+
}));
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Show an error message in a box
|
|
101
|
+
*/
|
|
102
|
+
export function showError(title, messages) {
|
|
103
|
+
const content = messages.join('\n');
|
|
104
|
+
console.log(boxen(content, {
|
|
105
|
+
title: chalk.red.bold(`✖ ${title}`),
|
|
106
|
+
padding: 1,
|
|
107
|
+
margin: { top: 1, bottom: 1, left: 0, right: 0 },
|
|
108
|
+
borderStyle: 'round',
|
|
109
|
+
borderColor: 'red',
|
|
110
|
+
}));
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Show a tip/hint box
|
|
114
|
+
*/
|
|
115
|
+
export function showTip(content) {
|
|
116
|
+
console.log(boxen(content, {
|
|
117
|
+
title: chalk.yellow.bold('💡 Tip'),
|
|
118
|
+
padding: 1,
|
|
119
|
+
margin: { top: 0, bottom: 1, left: 0, right: 0 },
|
|
120
|
+
borderStyle: 'round',
|
|
121
|
+
borderColor: 'yellow',
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Show next steps in a formatted way
|
|
126
|
+
*/
|
|
127
|
+
export function showNextSteps(steps) {
|
|
128
|
+
console.log(chalk.bold('\n📋 Next Steps:\n'));
|
|
129
|
+
steps.forEach((item, index) => {
|
|
130
|
+
const number = chalk.cyan.bold(`${index + 1}.`);
|
|
131
|
+
console.log(` ${number} ${item.step}`);
|
|
132
|
+
if (item.command) {
|
|
133
|
+
console.log(chalk.gray(` $ ${chalk.cyan(item.command)}`));
|
|
134
|
+
}
|
|
135
|
+
console.log();
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Show a divider line
|
|
140
|
+
*/
|
|
141
|
+
export function showDivider() {
|
|
142
|
+
console.log(chalk.gray('─'.repeat(50)));
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=banner.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"banner.js","sourceRoot":"","sources":["../../src/ui/banner.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,aAAa,EACb,WAAW,EACX,KAAK,SAAS,GACf,MAAM,aAAa,CAAC"}
|
package/dist/ui/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ui/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,YAAY,EACZ,UAAU,EACV,WAAW,EACX,SAAS,EACT,OAAO,EACP,aAAa,EACb,WAAW,GAEZ,MAAM,aAAa,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reverso/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.4",
|
|
4
4
|
"description": "Command line interface for Reverso CMS",
|
|
5
5
|
"homepage": "https://reverso.dev/docs/packages/cli",
|
|
6
6
|
"bugs": {
|
|
@@ -35,17 +35,22 @@
|
|
|
35
35
|
"clean": "rm -rf dist .turbo"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
+
"@reverso/api": "^0.1.1",
|
|
38
39
|
"@reverso/core": "^0.1.1",
|
|
39
|
-
"@reverso/scanner": "^0.1.1",
|
|
40
40
|
"@reverso/db": "^0.1.1",
|
|
41
|
-
"@reverso/
|
|
42
|
-
"
|
|
41
|
+
"@reverso/scanner": "^0.1.1",
|
|
42
|
+
"boxen": "^8.0.1",
|
|
43
43
|
"chalk": "^5.4.1",
|
|
44
|
+
"commander": "^14.0.2",
|
|
45
|
+
"dotenv": "^17.2.3",
|
|
46
|
+
"figlet": "^1.10.0",
|
|
47
|
+
"gradient-string": "^3.0.0",
|
|
44
48
|
"ora": "^9.1.0",
|
|
45
|
-
"prompts": "^2.4.2"
|
|
46
|
-
"dotenv": "^17.2.3"
|
|
49
|
+
"prompts": "^2.4.2"
|
|
47
50
|
},
|
|
48
51
|
"devDependencies": {
|
|
52
|
+
"@types/figlet": "^1.7.0",
|
|
53
|
+
"@types/gradient-string": "^1.1.6",
|
|
49
54
|
"@types/node": "^22.10.7",
|
|
50
55
|
"@types/prompts": "^2.4.9",
|
|
51
56
|
"typescript": "^5.7.3",
|